首页 > 其他 > 详细

异步 callback vs promise vs async/await

时间:2018-05-18 01:04:38      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:png   tps   cts   .com   settime   src   bubuko   ID   objects   

1. callback

var fn1=function(){console.log("func1")}

var fn2=function(fn){
setTimeout(function(){
console.log("func2")
fn()      //不能写fn,这只是函数名,要写fn()才是触发
},500)
}
var fn3=function(){console.log("func3")}

//函数名作为参数传入fn2

fn1()
fn2(fn3)      //将函数名传进去

2. promise 

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise

技术分享图片

 技术分享图片

技术分享图片

 

var fn1=function(){console.log("func1")}

var fn2=function(){
return new Promise((resolve,reject)=>{
setTimeout(function(){
console.log("func2")
resolve()    
},500)
})
}
var fn3=function(){console.log("func3")}

//用then来管理先后次序
fn1()
fn2().then(()=>{fn3()})

 3. async/await

 用一个函数来安排次序,async/await出现在一个函数里

var fn1=function(){console.log("func1")}

var fn2= function(){
return new Promise((resolve,reject)=>{
setTimeout(function(){
console.log("func2")
resolve()
},500)
})
}
var fn3=function(){console.log("func3")}

async function execFunc(){
fn1()
await fn2()
fn3()
}
execFunc()

异步 callback vs promise vs async/await

标签:png   tps   cts   .com   settime   src   bubuko   ID   objects   

原文:https://www.cnblogs.com/KellyChen/p/9054017.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号