JavaScriptでファイルを作成/追加/削除するために、新しいHTML5 FileSystem APIを使用しようとしています。(セルフサービスレジで使用する場合)
現在のコード:
var entries;
function onInitFs(fs) {
fileSystem = fs;
debug('Opened file system: ' + fs.name);
loadFilelist();
// The functions below execute before loadFilelist() is ready!
setFileList(entries);
showFilenames(entries);
}
function loadFilelist() {
entries = [];
var dirReader = fileSystem.root.createReader();
readEntries();
function readEntries() {
dirReader.readEntries(function(results) {
if (results.length > 0) {
debug(results.length + " Files added to the filesystemFilelist");
entries = entries.concat(toArray(results));
entries.sort();
readEntries();
}else{
debug(entries.length + " Files in the filesystemFilelist");
//done
}
}, fileErrorHandler);
};
}
/* For putting debug text in the debug screen (in this case its the console) */
function debug(content) {
window.console.log(content);
}
これに関する問題は、関数 dirReader.readEntries(function (), callback) がコールバックを待機することです。一方、次に来るコードはすでに実行されています。ファイルAPIで調べたところ、関数はコールバックでのみ機能するようです
関数が呼び出されるのを防ぐにはどうすればよいですか
setFileList(entries);
showFilenames(entries);
loadFilelist が完了する前に実行しますか?
前もって感謝します