异步等待如何使javascript异步?[duplicate]

6ljaweal  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(186)
    • 此问题在此处已有答案**:

How does javascript async/await actually work?(1个答案)
9小时前关门了。
由于javascript是同步的,所以我们使用回调承诺和异步等待来使其异步,但是当我们使用异步等待时,它会等待等待语句完成,然后再转到下一个语句,所以从技术上讲,这是同步的,那么为什么写异步等待是用来使javascript异步的。请让我知道,如果我错过了什么
我查了很多资源,但我还是不清楚

brccelvz

brccelvz1#

异步等待如何使javascript异步?
它不是,它是一个管理已经异步的代码的工具。
因为javascript是同步的
它不是,它运行一个主事件循环,并有规则来决定何时在循环外处理事件。
当我们使用async await时,它会等待await语句完成,然后再转到下一条语句,所以从技术上讲,这是同步的
包含await语句的函数进入休眠状态,直到promise(在await语句的RHS上)解析并且主事件循环可以自由地再次拾取函数。
包含await语句的函数必须用async关键字进行标记,这将使它们返回一个promise。
主事件循环在调用函数有权访问标记为async的函数返回的(未解析的)承诺的情况下继续在该函数之外进行处理。

相关问题