直接上例子吧,比较直观
// 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