async实际是对promise上的扩展,使用了promise并不和promise冲突
- then 将callback 拆分
var w=waitHandle();
w.then(...).then(...)
- async/await是最直接的同步写法解决异步问题,本质和then一样的效果
语法:
1.函数前加async标识
2.await后面必须跟promise实例(返回promise实例)
3.需要npm install --save-dev babel-polyfill
function loadImg(src){
var promise=new Promise(function(resolve,reject){
var img=document.createElement('img');
img.onload=function(){
resolve(img)
}
img.onerror=function(){
reject()
}
img.src=src
})
return promise
}
var src1='https://www.imooc.com/static/img/index/logo_new.png';
var src2='https://www.imooc.com/static/img/index/logo.png';
const load=async function(){
const result1=await loadImg(src1);
console.log(result1)
const result2=await loadImg(src2);
console.log(result2)
}
load();
网友评论