我想有条件地打破这样的循环。

for(let i = 0; i < 3; i++) {
 exampleFunction().then(result => {
    res = 0 ? i = 3 : null
 })
}


我希望exampleFunction至少运行3次,除非它获得所需的结果,在这种情况下,我希望它停止运行。

最佳答案

exampleFunction异步运行。使其正常工作的唯一方法是使用async/await



const iterateWithExampleFunction = async () => {
  for (let i = 0; i < 3; i++) {
    console.log('before', i)

    await exampleFunction().then(result => {
      i = result === 0 ? 3: i;
    });

    console.log('after', i)
  }
};

const exampleFunction = async () => {
  return 0;
}

iterateWithExampleFunction();

关于javascript - 在for循环中更改迭代器的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53400640/

10-11 12:53