JavaScriptのFileReaderの仕組み自体がブラウザ API の一部であり非同期である【備忘録】
今回はJSのFileReaderは非同期であるという話をしていきます。
個人の備忘録に近いです。
Contents
JavaScriptのFileReaderの仕組み自体がブラウザ API の一部であり非同期である【備忘録】
JSのFileReaderの処理は非同期となります。
ファイル読み込み操作はI/O処理に依存しており、時間がかかる可能性があるため、JavaScriptはこのような操作をブロックせず、非同期で実行するという性質があります。
JavaScriptの実行環境はシングルスレッドで動作しているため、長時間かかるI/O操作(ファイル読み込みなど)を同期的に実行すると、ユーザーインターフェースがフリーズしてしまいます。これを防ぐために、FileReader は内部的に非同期処理として動作します。
次の点からも非同期であることが確認できます。
イベントハンドリングの仕組み
reader.onload はイベントハンドラであり、ファイルの読み込みが完了したタイミングで呼び出されます。イベントハンドリングは通常非同期です。つまり、ファイルが読み込まれた瞬間ではなく、読み込みが完了した後にイベントがキューに追加され、その後処理されます。
readAsArrayBufferメソッド
FileReaderのreadAsArrayBufferやreadAsTextなどのメソッドは、非同期に動作することがドキュメントにも明記されています。これらはファイルの読み込み要求を開始し、その後、onloadなどのコールバックが実行されます。
終わりに
今回はJSのFileReaderは非同期であるという話をいたしました。
ディスカッション
コメント一覧
まだ、コメントがありません