循环后,如何更新" await"的结果?方框?
EX:
for (let i = 0; i < 5; i++){
let thing = await ( foo => {
return thing; // thing returns 15.
});
for (let j = 0; i < thing; i++){
//will loop 15 times the first time (out of 5 times because of outer loop)
//want to change value of thing to 9, so the next time it loops 9 times
}
}
在内循环之后,我期待流程返回等待阻止并重新评估该值或执行。但这似乎并没有发生,因为返回价值不会改变。
我想东西第一次返回15,然后循环15次。在外循环的下一次迭代中,我希望 thing 返回9,所以内循环9次。
编辑:抱歉,每个人都写得正确,问题来自另一部分代码。谢谢你的帮助!
答案 0 :(得分:1)
你在这里定义一个函数:
await ( foo => {
return thing; // thing returns 15.
});
但你实际上从未调用过该函数。您可以使用以下内容来调用它:
await ( foo => {
return thing; // thing returns 15.
})()
...但是很难理解为什么要创建一个函数来返回一个值。
此外,在第二个for循环中,您定义j
,然后比较并增加i
。这很难推理,我认为这可能是一个错字。
答案 1 :(得分:0)
你只是定义一个函数而不是调用它。并且j
循环看起来很可疑
let thing = await ( foo => {
return thing; // thing returns 15.
})();
我认为这就是你想要做的。虽然不完全确定
let thingArr = [15,9]
for (let i = 0; i < 5; i++){
let thing = await ( foo => {
return thingArr[i]; // thing returns 15.
})();
for (let j = 0; j < thing; j++){
//will loop 15 times the first time (out of 5 times because of outer loop)
//want to change value of thing to 9, so the next time it loops 9 times
}
}