У меня есть ситуации, когда я итерация каталог файлов в Firefox с чем-то вроде следующего:OS.File.DirectoryIterator тайм-аут в Firefox Addon
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
});
Похоже, что этот итератор обещание иногда раз, и никогда не попадает в // Делать материал после строки итератора. Если я делаю это для небольшого количества файлов, он, похоже, работает нормально - но если мой итератор, кажется, занимает больше, чем сказать, минуту (или неизвестный магический номер), обещание никогда не вернется. Является ли firefox делать что-то, чтобы закрыть мой OS.File-итератор?
Я прочитал в сообщении об ошибке здесь: https://bugzilla.mozilla.org/show_bug.cgi?id=1279389
, что есть предпочтение osfile.reset_worker_delay, но я, кажется, не быть в состоянии найти, что в Firefox 47, или любой из версий разработчиков я скачал ,
Это то, что вызывает мою проблему - итератор занимает слишком много времени, и, таким образом, firefox не перейдет к следующей части?
Ive должен был создать обход и перестроить мой код. Если у меня появится шанс, я могу проверить, могу ли я сделать минимальный тестовый пример, но это может быть немного. – Derek