async是一个用于定义异步函数的关键字,当函数被标记为'async'时,它会返回一个Promise对象,并且可以使用'await'关键字在函数内部等待异步操作的完成
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.log('Error:', error);
}
}
fetchData();
await
的作用主要有以下几个方面:
-
等待异步操作完成:
await
可以等待一个返回 Promise 对象的异步操作完成,暂停函数的执行,直到该 Promise 对象被解析或拒绝。这样可以避免回调函数嵌套和处理 Promise 链的复杂性,使异步代码的书写更加直观和顺序。 -
获取 Promise 对象的解析值:
await
表达式会返回 Promise 对象的解析值。如果 Promise 被成功解析,await
表达式会返回解析后的值。如果 Promise 被拒绝,会抛出一个错误(可以使用try...catch
进行捕获和处理)。 -
等待多个异步操作:在异步函数中,可以使用多个
await
表达式来依次等待多个异步操作的完成,使得异步操作的执行顺序更加明确和可控。