繁体   English   中英

NodeJS 在继续之前等待 for 循环中的函数完成

[英]NodeJS Wait for function in for loop to finish before continuing

我基本上有这个 for 循环,它运行一个函数,打开一个 puppeteer 窗口并转到一个链接,但是,我希望这可以按顺序完成,因为现在所有 puppeteer 窗口同时打开。

这是循环:

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 个木偶操作窗口,但是我希望打开 1 个,转到链接,然后打开下一个并转到链接,依此类推...

任何帮助表示赞赏

您没有等待您的enter电话,这就是它没有等待的原因。 你需要等待它。

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

您需要将循环包装到一个异步函数中并await每个enter()调用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM