理解async/await

2020-05-11  本文已影响0人  demoxjl

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()
上一篇 下一篇

猜你喜欢

热点阅读