之后的笔记主要记载完成 Blue-whale商城 大作业时遇到的问题和知识点。
异步处理
在 JavaScript 中,我们经常需要处理异步操作,比如发送请求、读取文件等。传统上,使用回调函数或者 Promise
来处理异步操作,但这些方法有时会让代码变得复杂且难以维护。async
和 await
提供了一种更简洁的方式来处理异步操作,让代码更加清晰易懂。
async 和 await
async
:用于声明一个异步函数。异步函数的返回值会自动封装为 Promise
对象。
await
:只能在 async
函数中使用。它用于等待一个 Promise
完成,并返回结果。
基本用法
以大作业中的部分代码为例。我们有两个异步操作:获取商店列表和获取用户信息。在使用 async
和 await
之前,错误代码可能长这样:
1 | function getStoreInfo() { |
在这个示例中,我们本意是想要先获得商店列表再获取用户信息,但代码执行的实际情况是控制台先打印了用户信息,这显然不符合我们的需求,需要使用 async
和 await
改写。
1 | // 获取商店列表 |
代码解析:
-
async
函数:getStoreInfo
和getUserInfo
被声明为async
,意味着它们是异步函数,返回一个Promise
。 -
await
关键字:我们使用await
来等待getStoreList()
和userInfo()
的Promise
结果。 -
顺序执行:通过
await
确保了getStoreInfo()
完成后才执行getUserInfo()
,这样可以保证执行顺序。 -
错误处理: 通过
try...catch
,我们能够捕获异步操作中的任何错误并进行处理,避免程序崩溃。
- 本文链接:https://squirrelune.github.io/cn/Web%E5%BC%80%E5%8F%91/Web%E5%BC%80%E5%8F%9108/
- 许可协议: 除特殊声明外,本站博文均采用 CC BY-NC-SA 3.0 CN 许可协议,转载请注明出处!