Promise.all()
работает ли он правильно, когда вы передаете ему массив обещаний, а не массив результатов. Затем он возвращает обещание, которое разрешается в массив результатов. Таким образом, вы не используете его должным образом.
Кроме того, здесь нет никаких оснований для setTimeout()
здесь, если все правильно закодировано.
Если что вы ' Пытаясь сделать это, вы получите массив результатов от вызова getPageData()
несколько раз, вы можете сделать это следующим образом:
function updateWholeDB(){
let promises = [];
for (let i = 0; i < getPages(); i++) {
promises.push(getPageData(i));
}
return Promise.all(promises);
}
// usage
updateWholeDB().then(results => {
console.log(results);
}).catch(err => {
console.log(err);
});
Это предполагает, что getPageData()
возвращает обещание, которое разрешается правильно с данными, которые вас интересуют. Если это не так, то вам придется показать нам этот код тоже, чтобы мы могли посоветовать, как его исправить.