【发布时间】:2016-10-03 20:19:25
【问题描述】:
我有一种情况,我在 Firefox 中迭代一个文件目录,如下所示:
let iterator = OS.File.DirectoryIterator(dir);
let itPromise = iterator.forEach(entry){
return OS.File.read(entry.path).then(array => {
return anotherPromise(array).then (
.
.
.
}
});
return itPromise.then( function () {
//DO stuff after iterator is completely done
});
似乎这个迭代器承诺有时会超时,并且永远不会在迭代器行之后到达 //Do stuff。 如果我对少量文件执行此操作,它似乎工作正常 - 但如果我的迭代器似乎花费的时间超过一分钟(或一些未知的幻数),则承诺永远不会返回。 Firefox 是否正在做一些事情来关闭我的 OS.File 迭代器?
我在此处阅读了错误报告:https://bugzilla.mozilla.org/show_bug.cgi?id=1279389
有一个 osfile.reset_worker_delay 首选项,但我似乎无法在 Firefox 47 或我下载的任何开发人员版本中找到它。
这是导致我的问题的原因吗 - 迭代器花费的时间太长,因此 firefox 不会跳到下一部分?
【问题讨论】:
标签: javascript firefox firefox-addon mozilla