一個前の記事でChromeはディレクトリも取れるみたいなこと書いたんだけど、とても重要なことに気づいた。
FileEntryは同期ではない。
File API - Folder Drag and Drop Example
前のエントリで貼ったのはこれ。
item.file(function(file) { var li = document.createElement('li'); li.innerText = path + file.name; filelist.appendChild(li); });
の部分、つまりFileEntry
のfile
メソッドは同期的ではない。これの何が問題かというと、ディレクトリを走査してFileEntryからfileを取得してきてその一覧に対してなんらかの作業をすることが困難ということ。
File API: Directories and System
ここにいろいろと書いてある。FileEntrySync
というものはあるけど、どうにも使い方がわからんからそのうち調べる。