JavaScriptのFileReaderの仕組み自体がブラウザ API の一部であり非同期である【備忘録】

今回はJSのFileReaderは非同期であるという話をしていきます。

個人の備忘録に近いです。



JavaScriptのFileReaderの仕組み自体がブラウザ API の一部であり非同期である【備忘録】

JSのFileReaderの処理は非同期となります。

ファイル読み込み操作はI/O処理に依存しており、時間がかかる可能性があるため、JavaScriptはこのような操作をブロックせず、非同期で実行するという性質があります。
JavaScriptの実行環境はシングルスレッドで動作しているため、長時間かかるI/O操作(ファイル読み込みなど)を同期的に実行すると、ユーザーインターフェースがフリーズしてしまいます。これを防ぐために、FileReader は内部的に非同期処理として動作します。

次の点からも非同期であることが確認できます。

イベントハンドリングの仕組み

reader.onload はイベントハンドラであり、ファイルの読み込みが完了したタイミングで呼び出されます。イベントハンドリングは通常非同期です。つまり、ファイルが読み込まれた瞬間ではなく、読み込みが完了した後にイベントがキューに追加され、その後処理されます。

readAsArrayBufferメソッド

FileReaderのreadAsArrayBufferやreadAsTextなどのメソッドは、非同期に動作することがドキュメントにも明記されています。これらはファイルの読み込み要求を開始し、その後、onloadなどのコールバックが実行されます。

終わりに

今回はJSのFileReaderは非同期であるという話をいたしました。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

直接契約ができるフリーランスエージェント「エンハンス」を立ち上げました。
詳しくは下記LPをご参照ください。
https://enhance.decryption.co.jp/

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






JavaScript

Posted by ちこ