async await,genertor理解

直接上例子吧,比較直觀 

//  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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章