promise与async/await的区别
时间: 2023-12-29 17:24:19 浏览: 97
async/await与promise(nodejs中的异步操作问题)
5星 · 资源好评率100%
Promise和async/await都是用于处理异步操作的方法,但是它们之间有一些区别:
1. 语法不同:Promise使用then()和catch()方法来处理异步操作的结果,而async/await使用async函数和await关键字来处理异步操作的结果。
2. 错误处理不同:在Promise中,错误处理通常在catch()方法中完成,而在async/await中,错误处理通常使用try/catch块来完成。
3. 可读性不同:async/await通常比Promise更易于阅读和理解,因为它们更像是同步代码。
下面是一个使用Promise和async/await处理异步操作的例子:
使用Promise:
```javascript
function getData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data received!');
}, 2000);
});
}
getData()
.then(data => console.log(data))
.catch(error => console.log(error));
```
使用async/await:
```javascript
async function getData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data received!');
}, 2000);
});
}
async function printData() {
try {
const data = await getData();
console.log(data);
} catch (error) {
console.log(error);
}
}
printData();
```
阅读全文