async/await:用同步的思维解决异步问题,等待await执行结果出来之后,才会继续向下执行
//带有async开头的函数,会自动将常规函数转换为promise,返回值也是一个promise对象
//async函数内部的异步操作执行完,才会执行then方法指定的函数
async function sum(a,b){
return a+b;
}
sum(2,123);
async.png
//异步函数内部可使用await
var readBtn = document.getElementById('btn');
readBtn.onclick = async function(){
var res = await fetch('image/test.png');
console.log(res, '111');
fetchFileBlob(res)
};
await
1.await放在promise调用之前,await强制await后面的代码等待await执行结束后才能
执行,直到promise返回resolved,
2.await 只能和async配套使用,单独使用会报错
3.多个await命令的异步操作,若不存在依赖管理,可用promise.all()同时触发
async function test(){
var time = (new Date()).getTime();
//var test1 = await test1();
//var test2 = await test2();
var [test1,test2] = Promise.all([test1,test2])
var timeEnd = (new Date()).getTime();
console.log(time, timeEnd)
}
test()
网友评论