NodeJS Дождитесь окончания функции l oop до sh, прежде чем продолжить - PullRequest
0 голосов
/ 24 февраля 2020

У меня в основном это для l oop, который запускает функцию, которая открывает окно кукловода и переходит на ссылку, однако я хочу, чтобы это было сделано последовательно, так как сейчас все кукловоды windows открыты одновременно .

Вот l oop:

for(var i=0; i < 3; i++){
  if (i != 0){
    enter();
  }
}

А вот моя функция введите :

async function enter(){

   browser = await puppeteer.launch({headless: false});
   page = await browser.newPage();
   await page.goto(url);

}

Прямо сейчас, если я если бы запустить этот код 2, кукловод windows откроет, однако я бы хотел, чтобы 1 открылся, go для ссылки, а затем был открыт следующий, go для ссылки и так далее ...

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Вам нужно обернуть свою l oop в асинхронную c функцию и await каждый enter() вызов:

async function openWindows() {
  for(var i=0; i < 3; i++){
    if (i != 0){
      await enter();
    }
  }
}
0 голосов
/ 24 февраля 2020

Вы не ожидаете своего enter звонка, и это причина того, что он не ждет. Вам нужно дождаться этого.

for(var i=0; i < 3; i++){
  if (i != 0){
    await enter();
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...