Я просто хочу получить данные из нескольких URL-адресов по кругу l oop, пока возвращаемые данные не станут меньше, чем ограниченное число объектов, каждый URL-адрес возвращает массив объекта данных, я бы объединил весь результат в postResponse
массив.
let urlsample = "https://example.com/page";
let postResponse = await page.evaluate(async (urlsample) => {
let promises = [], pagenumb = 1;
var fetchNow = function () {
fetch(urlsample + pagenumb + "&page_size=100").then(function (response) {
response.json().then(rp => {
promises.push(rp.data.list);
if (rp.data.list.length < 100) {
return promises;
}
else {
pagenumb++;
fetchNow();
}
})
}).catch(error => console.log(error));
}
fetchNow();
return Promise.all(promises);
}, urlsample);
console.log('Final response');
console.log(postResponse);//the console print []
//---------
postResponse.then(x => {console.log(x);});//the console print error then is not the function
Моя функция такая же, как указано выше. Я много раз пытался найти решение, но похоже застрял в том, как правильно использовать Promise.all. Кто-нибудь может мне помочь?