簡體   English   中英

在 for 循環中使用異步函數的正確方法

[英]Correct way to use async function inside a for-loop

最近,我在運行 E2E 測試時遇到了一些錯誤,我所做的唯一更改是在原始測試代碼中添加checkColumns邏輯,如下所示:

it('check search and sort', async () => {
  await checkLoadingAndResult();
  await checkColumns(table, ...columns); //newly added 
  await checkTableSorting();
});

checkColumns 的邏輯是這樣的:

export async function checkColumns(table: Table, ...columns: string[]) {
  for (const col of columns) {
    expect(await table.isColumnDisplayed(col)).toBeTruthy(`${col} is not displayed`)
  }
}

錯誤信息是這樣的:

Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:59536

我認為checkColumns函數中可能有問題,我不知道這是否是在 for 循環中調用異步方法的正確方法。 我猜這個 for 循環是錯誤的原因。

此錯誤消息不是由您使用 async / await 生成的。 它很可能是因為發送的 HTTP 請求由於連接錯誤而失敗,我在另一個框架上遇到了問題,這是由於 webdriver 沒有運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM