js回调
function Img(src,callback,fail){
var img=document.createElement('img');
img.src=src;
img.onload=function(){
callback(img);
}
img.onerror=function(){
fail();
}
}
var src="https://www.imooc.com/static/img/index/logo.png";
Img(src,function(img){console.log(img.width)},function(){console.log('failed')})
promise语法
function Img(src){
const promise=new Promise(function(resolve,reject){
var img=document.getElementById("img");
img.onload=function(){resolve(img)}
img.onerror=function(){
reject();
}
img.src=src;
})
return promise;
}
var src="https://www.imooc.com/static/img/index/logo.png";
var result=Img(src);
result.then(function(img){console.log(img.width)},function(){console.log("failed")})
new promise实例,要return
new promise时传入参数resolve和reject,成功执行resolve() ,失败执行reject()
.then监听结果