使用HTML5和Chrome FileSystem API读取目录

时间:2017-01-29 23:14:08

标签: google-chrome-extension html5-filesystem

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

我想知道什么是正确的模式。此外,尝试找到entries.sort()方法的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);
  }
});

0 个答案:

没有答案