setInterval(() => { // do some stuff }, 1000) const foo = async () => { const res = await api_call(); const do_stuff(); } await foo();
字符串foo函数在setInterval的回调即将执行时会阻塞它吗?
foo
setInterval
lmvvr0a81#
如果api_call返回一个promise,则await函数会有效地“暂停”foo函数,直到某个原因导致promise被解析。如果在此之前经过1000ms,则首先执行超时代码。
api_call
await
eqqqjvef2#
我想你的问题可以归结为单线程下setInterval的回调和foo()函数之间的优先级。
2条答案
按热度按时间lmvvr0a81#
如果
api_call
返回一个promise,则await
函数会有效地“暂停”foo
函数,直到某个原因导致promise被解析。如果在此之前经过1000ms,则首先执行超时代码。
eqqqjvef2#
我想你的问题可以归结为单线程下
setInterval
的回调和foo()函数之间的优先级。