老韩哥

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

{
// es5
let ajax=function (cb) {
console.log('执行')
setTimeout(function(){
cb&&cb.call()
},1000)
}

ajax(function(){
console.log('timeout1')
})
}

{
let ajax=function(){
console.log('执行2')
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve()
},1000)
})
}

ajax().then(function(){
console.log('promise','timeout2')
})
}

{
let ajax=function(){
console.log('执行3')
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve()
},1000)
})
}

ajax()
.then(function(){
console.log('执行4')
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve()
},2000)
})
})
.then(function(){
console.log('timeout3')
})
}

{
let ajax=function(num){
console.log('执行5')
return new Promise(function(resolve,reject){
if(num>5){
resolve()
}else{
throw new Error('出错了')
}
})
}

ajax(6).then(function(){
console.log('log',6)
}).catch(function(err){
console.log('catch',err)
})

ajax(2).then(function(){
console.log('log',2)
}).catch(function(err){
console.log('catch',err)
})
}

{
// 所有图片加载完再添加到页面
function loadImg(src){
return new Promise((resolve,reject)=>{
let img =document.createElement('img')
img.src=src
img.onload=function(){
resolve(img)
}
img.onerror=function(err){
reject(err)
}
})
}

function showImg(imgs){
imgs.forEach(function(img){
document.body.appendChild(img)
})

}

Promise.all([
loadImg('http://cms-bucket.ws.126.net/2020/0115/34f68b99j00q45b12000xc000fa00bhc.jpg'),
loadImg('http://cms-bucket.ws.126.net/2020/0321/8afc9c4fg00q7ivk906xhc000cw0061c.gif'),
loadImg('http://cms-bucket.ws.126.net/2020/0501/e511d1c2j00q9mt54008hc000mp00gwc.jpg'),
]).then(showImg)
}

{
// 有一张图片加载完再添加到页面
function loadImg(src){
return new Promise((resolve,reject)=>{
let img =document.createElement('img')
img.src=src
img.onload=function(){
resolve(img)
}
img.onerror=function(err){
reject(err)
}
})
}

function showImg(img){
let p=document.createElement('p')
p.appendChild(img)
document.body.appendChild(p)

}

Promise.race([
loadImg('http://cms-bucket.ws.126.net/2020/0115/34f68b99j00q45b12000xc000fa00bhc.jpg'),
loadImg('http://cms-bucket.ws.126.net/2020/0321/8afc9c4fg00q7ivk906xhc000cw0061c.gif'),
loadImg('http://cms-bucket.ws.126.net/2020/0501/e511d1c2j00q9mt54008hc000mp00gwc.jpg'),
]).then(showImg)


}

posted on 2020-05-01 23:12  老韩哥  阅读(121)  评论(0)    收藏  举报