Привет Я пытаюсь понять, что не так с кодом ниже.Bluebird каждая функция бросает TypeError
Код:
const Promise = require('bluebird')
const fs = Promise.promisifyAll(require("fs"));
var config = {
"files": [{
"path1": "bla.js",
"path2": "bla.js"
}]
}
var baseDir ='./'
function validateConfig(config) {
return Promise.each(config.files, (file) =>
Promise.each([file.path1, file.path2], (path) =>{
fs.statAsync(baseDir+ path)
console.log(baseDir + path)
}
)
)
}
validateConfig(config).then(config => validateConfig(config))
Я понятия не имею, почему это происходит? Было бы хорошо, если бы кто-нибудь мог это объяснить.
TypeError: expecting an array or an iterable object but got [object Null]]
Edit: Я создал отдельный продукт пример, который показывает эту проблему. ошибка происходит в последней строке
validateConfig(config).then(config => validateConfig(config))
Это просто пример. обычно я бы назвал еще один метод в .then()
ли дать линию numnber? Ваш текущий фрагмент не компилируется –
Нет простыни. Я попытаюсь создать исполняемый пример. –
Для правильной работы 'config.files' должен быть массив объектов, в которых у объектов были свойства' .path1' и '.path2'. Сообщение об ошибке заставляет меня думать, что это не так. Пожалуйста, покажите нам, что такое 'config.files'. Например, выполните 'console.log (JSON.stringify (config.files)); и покажите нам, что это такое. – jfriend00