我有这段代码遍历一系列异步函数(async
函数和返回promise的函数),调用每个函数,等待其结果,记录到控制台,然后继续进行下一个。除非有人忘记解决/拒绝他们的诺言,否则这会很好。该应用程序将停止运行,除了日志已停止打印以外,没有任何其他指示。
(async function() {
var foo = [
async() => 1,
() => Promise.resolve(2),
new Promise((resolve, reject) => {}), // This will cause it to stop
async() => 3,
() => Promise.resolve(4),
]
for (const bar of foo) {
const baz = await bar()
// does not proceed if bar doesn't resolve/reject.
console.log(baz)
}
})()
有没有办法设置本地设置的超时时间?还是打破循环?告诉运行时发出警告?还是必须通过自定义完成此超时/中断/警告?该代码主要是用Node编写的,但我认为这也可能适用于浏览器JS。