我正在尝试创建一个动态界面来与Chrome Canary中的HTML5文件系统进行交互,但我目前正在遇到绊脚石。
我用
dirReader.readEntries(function (entries) {
if (!entries.length){
return;
}
for (var i = 0 ; i < entries.length; i++){
$scope.files.push(entries[i]);
}
dirReader.readEntries();
}, errorHandler);
第一次得到它们,这很好。但是,如果我创建一个新文件,并再次运行代码,它将不返回任何内容。
我想它正在使用旧的文件系统引用或类似的东西,所以我想我需要重新初始化文件系统或目录阅读器(这是猜测)?处理这个问题的最佳方法是什么?
编辑:获取对文件系统的新引用确实有效,但这让我有点呕吐。更好的方法仍然是非常好。
答案 0 :(得分:1)
要读取目录的内容,请创建DirectoryReader并调用 它的readEntries()方法。无法保证所有目录的条目 将在一次调用readEntries()时返回。这意味着你需要保持 调用DirectoryReader.readEntries()直到不再返回结果。
我读到这意味着DirectoryReader
是一个一对一的对象。一旦你阅读它,你将不再获得它的数据。因此,请尝试创建新的DirectoryReader
。