前端async和await的区别
时间: 2023-10-19 16:25:46 浏览: 43
async和await是JavaScript中用于处理异步操作的关键字。async用于定义一个异步函数,该函数会返回一个Promise对象。而await则用于等待一个Promise对象处理完成,并且会暂停当前异步函数的执行。
当在async函数内部使用await关键字时,它会阻塞代码的执行,直到该Promise对象的状态变为resolved(成功)或rejected(失败)。如果Promise正常处理(fulfilled),那么它会将resolve函数的参数作为await表达式的值,并继续执行async函数的后续代码。如果Promise处理异常(rejected),则await表达式会抛出Promise的异常原因。
async和await的使用可以使异步代码更加清晰和易读。相比于使用回调函数或Promise链,async函数的语法更加简洁,并且避免了回调地狱的问题。通过使用await关键字,我们可以像编写同步代码一样编写异步操作的代码。
总结起来,async是用于定义异步函数的关键字,await用于等待一个Promise对象处理完成,并且可以获得Promise处理结果。它们的使用可以简化异步代码的编写,并且使代码更易读和维护。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [前端async和await](https://blog.csdn.net/yuanfei0501/article/details/118546901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [前端开源库-jsdoc-strip-async-await](https://download.csdn.net/download/weixin_38744375/11639645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [前端 js 经典:async 和 await](https://blog.csdn.net/weixin_64684095/article/details/131399723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]