Promise 与 await-async,await-async是ES7推出的Promise语法糖,基础Promise之上
下面我们看一段代码是await-async实现的异步阻塞同步执行
function readSync(isTrue) {
return new Promise((resolve, reject) => {
setTimeout(function(){
if(isTrue){
resolve('成功!');
}else{
reject('失败!');
}
},2000);
});
}
async function readAsync() {
// 调用异步方法
const data = await readSync(true);
// 异步等待 同步执行
console.log(data.toString());
console.log('end ...');
}
readAsync();
// 输出结果 成功 end ...
结果很理想,然后下面我又实现了一段代码和await-async进行比较
function readSync(isTrue) {
return new Promise((resolve, reject) => {
setTimeout(function(){
if(isTrue){
resolve('成功!');
}else{
reject('失败!');
}
},2000);
});
}
readSync(true).then((value)=>{
// 异步等待 同步执行
console.log(value);
console.log('end ...');
})
// 输出结果 成功 end ...
结果发现其实await-async和Promise功能几乎相同,await-async只是Promise的另一种简洁写法