JavaScript でファイルを開くダイアログを出す方法
Q&A
Closed
解決したいこと
JavaScriptの初心者です。
JavaScript でファイルを開くダイアログを出して、ファイルを読ませたいのですが、
参考にした記事で疑問があったので質問します。
参考
JavaScript でファイル保存・開くダイアログを出して読み書きするまとめ
const showOpenFileDialog = () => {
return new Promise(resolve => {
const input = document.createElement('input');
input.type = 'file';
input.accept = '.txt, text/plain';
input.onchange = event => { resolve(event.target.files[0]); };
input.click();
});
};
const readAsText = file => {
return new Promise(resolve => {
const reader = new FileReader();
reader.readAsText(file);
reader.onload = () => { resolve(reader.result); };
});
};
(async () => {
const file = await showOpenFileDialog();
const content = await readAsText(file);
// 内容表示
alert(content);
})();
上記のコードで、ファイルを開くダイアログでキャンセルをクリックした場合、どうなるのでしょうか?
const file = await showOpenFileDialog();
が永遠に待機し続けるような気がするのですが、コードは終了するのですか?
コードが終了しない場合でも特に問題はないのでしょうか?
自分で試したこと
vscodeで
const file = await showOpenFileDialog();
の次の行にブレークポイントを設定してデバッグしてみましたが、ファイルを選択したときはブレークしましたが、キャンセルしたときはブレークしませんでした。