之后的笔记主要记载完成 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 许可协议,转载请注明出处!