我試圖使用新的HTML5 FileSystem API用JavaScript創建/添加/刪除文件。 (適用於自助服務收銀臺使用)在執行其他功能之前,我可以等待HTML5 FileSystem DirectoryReader嗎?
當前代碼:
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(()的函數,回調),等待回調。同時接下來的代碼已經執行。 伊夫看着它在File API,似乎功能只有一個回調的作品
如何防止該函數調用
setFileList(entries);
showFilenames(entries);
執行loadFilelist之前完成?
在此先感謝
呵呵似乎有一個同步的方式來做到這一點descibed [這裏](http:// w ww.w3.org/TR/file-system-api/#the-directoryentrysync-interface)任何能幫助我的人? – Marcel