我想有条件地打破这样的循环。
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/