介绍
定义为 async
的函数是一个可以执行异步操作但仍然看起来同步的函数。它的工作方式是使用 await
关键字在等待 Promise 解析或拒绝时推迟该功能。
注意: 异步功能是有望包含在 ECMAScript 2017 标准中的第 4 阶段(完成)提案 。
例如,使用基于 promise 的 Fetch API :
async function getJSON(url) {
try {
const response = await fetch(url);
return await response.json();
}
catch (err) {
// Rejections in the promise will get thrown here
console.error(err.message);
}
}
异步函数总是返回一个 Promise 本身,因此你可以在其他异步函数中使用它。
箭头函数样式
const getJSON = async url => {
const response = await fetch(url);
return await response.json();
}