async await done()
时间: 2023-12-27 09:25:33 浏览: 90
async/await是JavaScript中处理异步操作的一种方式。它是基于Promise的语法糖,可以使异步代码更加简洁和易读。
在使用async/await之前,我们先来了解一下Generator函数。Generator函数是ES6引入的一种特殊函数,它可以通过yield关键字来暂停函数的执行,并返回一个可迭代的对象。通过调用next()方法,可以继续执行Generator函数,并返回下一个yield语句的值。
async函数是一个返回Promise对象的函数。在函数内部,可以使用await关键字来暂停函数的执行,等待Promise对象的状态变为resolved(已完成)后再继续执行。使用async函数可以使异步代码看起来像同步代码,提高代码的可读性。
下面是一个使用async/await处理异步操作的示例:
```javascript
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function asyncFunction() {
console.log('Start');
await delay(2000); // 等待2秒
console.log('End');
}
asyncFunction();
```
在上面的示例中,delay函数返回一个Promise对象,通过await关键字等待2秒后,再继续执行后面的代码。运行上述代码,会先输出"Start",然后等待2秒后输出"End"。
在Node.js中,async/await也可以用于简化处理callback或Promise的异步操作。通过将异步操作封装成Promise对象,然后在async函数中使用await关键字等待Promise对象的完成,可以使异步代码更加简洁和易读。
阅读全文