Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 使用HTML5和Chrome文件系统API读取目录_Google Chrome Extension_Html5 Filesystem - Fatal编程技术网

Google chrome extension 使用HTML5和Chrome文件系统API读取目录

Google chrome extension 使用HTML5和Chrome文件系统API读取目录,google-chrome-extension,html5-filesystem,Google Chrome Extension,Html5 Filesystem,我试图显示目录的内容以及每个项目的lastModified属性。不幸的是,要获得属性,必须在每个条目上调用.file()方法,这使得整个循环非常麻烦。console.log输出一个数组,据报告该数组中没有项目,但实际上您可以展开它并查看其中填充的所有项目 我在想什么才是正确的父亲。另外,尝试查找entries.sort()方法的API,但找不到任何API 下面的代码是从一个示例中借用的,并根据我的需要进行了调整 fs.root.getDirectory('recent', {create: tr

我试图显示目录的内容以及每个项目的
lastModified
属性。不幸的是,要获得属性,必须在每个条目上调用
.file()
方法,这使得整个循环非常麻烦。
console.log
输出一个数组,据报告该数组中没有项目,但实际上您可以展开它并查看其中填充的所有项目

我在想什么才是正确的父亲。另外,尝试查找
entries.sort()方法的API,但找不到任何API

下面的代码是从一个示例中借用的,并根据我的需要进行了调整

fs.root.getDirectory('recent', {create: true}, function (recentDir) {
  var dirReader = recentDir.createReader();
  var entries = [];

  var readEntries = function () {
    dirReader.readEntries(function (results) {
      if (!results.length) {
        listResults(entries.sort());
      } else {
        entries = entries.concat(toArray(results));
        readEntries();
      }
    }, fsErrorHandler);
  };

  readEntries();

  function toArray(list) {
    return Array.prototype.slice.call(list || [], 0);
  }

  function listResults(entries) {
    var list = [];

    entries.forEach(function (entry, i) {
      entry.file(function (data) {
        list.push(data); // <- async
      });
    });

    console.log(list);
  }
});
fs.root.getDirectory('recent',{create:true},函数(recentDir){
var dirReader=recentDir.createReader();
var分录=[];
var readEntries=函数(){
dirReader.readEntries(函数(结果){
如果(!results.length){
listResults(entries.sort());
}否则{
entries=entries.concat(toArray(results));
readEntries();
}
},fsErrorHandler);
};
readEntries();
函数toArray(列表){
返回Array.prototype.slice.call(list | |[],0);
}
函数列表结果(条目){
var列表=[];
entries.forEach(函数(entry,i){
entry.file(函数(数据){

list.push(data);//我建议使用promisify库和async/await.1.
条目
声明为数组,因此
条目.sort()
是标准数组2.检查
结果
的数量是否少于1000,然后直接推送
条目.push.apply(条目,结果)
,速度更快,占用内存更少。