![]() |
1
5
您的函数不是一个很好的例子,因为返回值没有以任何方式连接到
你的大多数问题都是由于术语上的混乱。不要纠结于术语的字面意思。JavaScript中没有任何东西(除了Web Workers)是同步的,乍一看,同步和同步应该是同义词。在JavaScript中,同步意味着“完全在同一个任务中执行”,异步意味着“将一个新任务放置在执行堆栈上”,就我所见,或多或少。从这个角度看,,
|
![]() |
2
2
异步函数只能是setTimeout、setInterval、requestAnimationFrame和其他函数,更多关于异步函数的信息,请查看本文 How to Create asynchronous function in javascript?
我们将用两个例子来解释这一点
``` 如果使用承诺或返回承诺会使函数异步,那么输出顺序将是
然而,仅仅返回一个承诺并不能使函数异步,因此输出是不同步的
现在
因为只有Javascript异步函数可以是异步的,并且进入callstack,然后进入事件队列,然后是的回调函数
``` 与上面类似,这也将打印
异步等待和承诺之间有什么区别?
在达到异步功能时如预期
详细解释wait的最后一个示例,从最后一个示例中删除了setTimeout的用法:
按预期产出:
|
![]() |
3
0
|
![]() |
Josue Abotsidia · 创建NextJS项目时出错 4 月前 |
![]() |
Zak · 令牌认证路由的页面刷新重定向到React中的404页面 5 月前 |
![]() |
DSATH · 我的lambda在代码完成之前就结束了,我不知道为什么 5 月前 |