繁体   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