async await 的理解与用法
时间: 2023-10-19 20:31:19 浏览: 89
深入理解ES7的async/await的用法
5星 · 资源好评率100%
async/await 是 JavaScript 中用于处理异步操作的一种语法糖。
- async: 声明一个函数是异步函数,即该函数返回一个 Promise 对象。在异步函数中可以使用 await 关键字来暂停函数的执行,等待 Promise 对象的解析。
- await: 在异步函数中使用 await 可以等待一个 Promise 对象的解析,并暂停函数的执行,直到 Promise 对象被解析为已完成状态。
使用 async/await 可以让异步代码看起来像同步代码,提高代码的可读性和可维护性。
下面是一个例子,展示了 async/await 的用法:
```javascript
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function foo() {
console.log('Start');
await delay(2000); // 等待2秒
console.log('End');
}
foo();
```
在上面的例子中,delay 函数返回一个 Promise 对象,在指定的毫秒数后将 Promise 对象解析为已完成状态。在 foo 函数中,使用 await 关键字等待 delay 函数的解析结果,即等待 2 秒。在 await 表达式之后的代码将在 delay 函数解析完之后执行。
运行上面的代码会输出:
```
Start
<等待2秒>
End
```
这个例子展示了 async/await 的基本用法,它可以让我们以同步的方式编写异步代码,更清晰地表达异步操作的顺序和逻辑。
阅读全文