読者です 読者をやめる 読者になる 読者になる

あんパン

こしあん以外は認めない

FileEntryは非同期

一個前の記事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);
});

の部分、つまりFileEntryfileメソッドは同期的ではない。これの何が問題かというと、ディレクトリを走査してFileEntryからfileを取得してきてその一覧に対してなんらかの作業をすることが困難ということ。

File API: Directories and System

ここにいろいろと書いてある。FileEntrySyncというものはあるけど、どうにも使い方がわからんからそのうち調べる。