setInterval(() => {
// do some stuff
}, 1000)
const foo = async () => {
const res = await api_call();
const do_stuff();
}
await foo();
foo
函数会在回调执行时阻塞setInterval
吗?
如果
api_call
返回一个 Promise,则 await
函数会有效地“暂停” foo
函数,直到某些原因导致 Promise 得到解决。
如果在此之前经过了 1000 毫秒,则首先执行超时代码。
我认为你的问题可以归结为单线程下
setInterval
的回调和 foo() 函数之间的优先级