簡體   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