Как я могу создать oop выборки в зависимости от условий результата в кукловоде? - PullRequest
0 голосов
/ 27 апреля 2020

Я просто хочу получить данные из нескольких 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. Кто-нибудь может мне помочь?

...