await 块代码是否位于包含await 的异步函数之外?

问题描述 投票:0回答:2
setInterval(() => {
  // do some stuff
}, 1000)

const foo = async () => {
  const res = await api_call();
  const do_stuff();
}

await foo();

foo
函数会在回调执行时阻塞
setInterval
吗?

javascript node.js asynchronous async-await promise
2个回答
1
投票

如果

api_call
返回一个 Promise,则
await
函数会有效地“暂停”
foo
函数,直到某些原因导致 Promise 得到解决。

如果在此之前经过了 1000 毫秒,则首先执行超时代码。


0
投票

我认为你的问题可以归结为单线程下

setInterval
的回调和 foo() 函数之间的优先级

© www.soinside.com 2019 - 2024. All rights reserved.