直接上例子吧,比較直觀
// async await ,f1返回是一個promise,可以進行鏈式操作
async function f1(){
console.log("開始")
await f2() //要等f2執行完
console.log("終於f2執行完了")
return 999
}
function f2(){
return new Promise(function(resolve,reject){
setTimeout(function(){
resolve()
console.log("進入計時器")
},1000)
})
}
f1().then(function(value){
console.log("我是resolve",value)
})
//generator
//分步執行
function* test(){
console.log("1111111")
yield '1';
console.log("22222")
yield '2';
}
//傳值
function* test2(){
console.log("1111111")
var x=yield '1';
console.log("22222",x)
yield '2';
}
let t1=test2()
t1.next()
t1.next(100000)//傳值 即x=100000