下一代标准es7中提供了async函数,使得异步操作变得更加方便。
直观的感觉就是函数执行变得“同步”了。
const f = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(234);
}, 2000);
});
};
const testAsync = async () => {
try {
console.log("start")
const t = await f();
console.log("end");
} catch (err) {
console.log(err);
}
};
testAsync();
//输出结果
// start
// 234
需要注意的是:
1. await 需要在async函数中。
2. await后的函数返回值需要时一个Promise对象
3. 最好将await放在try-catch代码块中。