异步 for 类型循环(let i = 1; i === numberOfPages; i += 1)

问题描述 投票:0回答:2

我想实现一个调用异步函数的for循环,并实际上等待它结束,但我没有数组,我有多次运行,所以我只能想到这样做

for (let i = 1; i === numberOfPages; i += 1) {
            await getPageDetails();
            await this.page.evaluate(async () => {
                const nextButton = document.querySelector('[aria-label="Next Page"]') as HTMLElement;
                nextButton?.click();
            });
        }

有什么想法吗?

for 循环应该等待异步函数

javascript for-loop asynchronous async-await
2个回答
1
投票

你的循环永远不会运行,因为它永远不会通过继续条件(注释中提到的 1 页除外),将 for 循环修复为:

for(let i = 0; i < numberOfPages; i++) {

0
投票

你就快到了,这应该可行:

for (let i = 1; i <= numberOfPages; i += 1) {
  await getPageDetails();
  const nextButton = document.querySelector('[aria-label="Next Page"]');
  nextButton?.click();
}

© www.soinside.com 2019 - 2024. All rights reserved.