async/await是什么?
async用于申明一个函数是异步的;
而await则可以认为是async await的简写形式,是等待一个异步方法执行完成的。
构建一个 Promise
JavaScript 使用 Promise文章内讲解过的 Promise函数
const myPromise = new Promise((resolve, reject) => {
// 在这个例子中,我们使用 setTimeout(...) 来模拟异步代码;
// 在实际情况中,你可能会使用类似 XHR 或 HTML API 等。
setTimeout(() => {
// 举例成功
const success = true;
if (success) {
// 当异步操作成功时,我们调用 resolve(...)。
resolve("成功!");
} else {
// 当其失败时,调用 reject(...)。
reject("失败了...");
}
}, 300);
});
// 这是之前讲到的 使用 `then` 和 `catch` 处理它的结果
myPromise.then(result => {
console.log(result); // 输出 "成功!"
}).catch(error => {
console.error(error); // 如果操作失败,输出 "失败了..."
});
构建一个异步函数 并 使用
async function* 关键字可用于在表达式中定义一个异步生成器函数。
await 操作符用于等待一个Promise 兑现并获取它兑现之后的值。它只能在异步函数或者模块顶层中使用。
async function getMyPromise() {
const res = await myPromise();
console.log(res); // 成功会输出 "成功!",如果操作失败,输出 "失败了..."
}