async和await用法与then
时间: 2023-10-29 14:55:56 浏览: 123
async和await是用于处理异步操作的语法糖,它们可以让异步代码看起来更加简洁和易读。
在JavaScript中,通常使用Promise对象来处理异步操作。使用then方法可以处理Promise对象的结果。而async和await关键字则可以更直观地编写异步代码。
使用async关键字修饰一个函数,表示该函数是一个异步函数。在异步函数中,可以使用await关键字来等待一个Promise对象的完成,await会暂停函数的执行,直到Promise对象状态变为resolved或rejected。同时,await关键字会返回Promise对象的结果。
下面是一个使用then的例子:
```javascript
function getData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Data received");
}, 1000);
});
}
getData()
.then((data) => {
console.log(data);
})
.catch((error) => {
console.error(error);
});
```
下面是一个使用async和await的例子:
```javascript
function getData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Data received");
}, 1000);
});
}
async function fetchData() {
try {
const data = await getData();
console.log(data);
} catch (error) {
console.error(error);
}
}
fetchData();
```
在上面的例子中,fetchData函数使用async关键字修饰,表示它是一个异步函数。在函数内部使用await关键字等待getData函数返回的Promise对象完成,并将结果赋值给变量data。然后根据结果执行相应的操作。
总结一下,使用then方法适用于处理Promise对象的结果,而async和await关键字更适合编写和处理异步代码,使其更易读和维护。
阅读全文