HTML5 FILE APIの重大な問題点

間違いがありました。
FileReaderの読み込みで読み込み完了まで待ち同期させる方法として、WEB worker内でFileReaderSync()を使う方法があることが後で分かりました。
ただ、WEB workerの使い方はややこしいです。
メインのJavascriptのソースとは別の場所に書かなくてはいけません。
workerのソースを別にファイルにするか、ブラウザが同一ファイルに書いても別ファイルに書いてあるような形にする関数に対応していれば同一ファイルに書く方法もあります。
別ファイルにworkerを書き、ローカルでfile://で始まるURLで動かそうとした場合はChromeのデフォルト状態ではセキュリティーエラーが出て動きません。
以下は、WEB workerを知らない時に書いた記事です。
もし、HTML5 FILE APIを使ってjavascriptのプログラムを作りたいと思っている人がいるなら、やめたほうがいいかも知れない。
一度読み込むだけの処理なら問題ない。
数度読み込むだけなら少し面倒だが大きな問題はない。
大問題となるのは、ループで何百回、何千回、何万回も読み込ますような処理をしたい場合だ。
HTML5 FILE APIのFileReaderでは読み込み関数を読んでも値はその場では読めず、後で起こるイベントで飛んで行った関数の中だけで読める。
つまり、ループは作れないし、普通に一行ずつ実行していくプログラムを作れない。
読み込むたびに別の関数に飛んでいってしまう。
空ループで読み込みが終わるのを待っても、空ループの中ではイベント処理が行われずいつまでも読み込まれないから意味がない。
Javascriptには、C++BuilderのApplication->ProcessMessages()やVisual BasicのDoEvent()のような関数はない。

for(i=0;i