第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

setTimeout 多層回調(diào)函數(shù)嵌套的疑惑

setTimeout 多層回調(diào)函數(shù)嵌套的疑惑

本人新手, 在學(xué)習(xí)javascript的異步時(shí)遇到了點(diǎn)疑慮, 如下:在看阮一峰老師的教程里面有這樣一段實(shí)例代碼:var async = function(arg, callback) {    console.log(`參數(shù)為${arg}, 一秒后返回結(jié)果`)    setTimeout(function() {        callback(arg * 2)    }, 1000)}async(1, function(value){    async(value, function(value){        async(value, function(value){            console.log('完成: ', value)        })    })})輸出結(jié)果如下:不是特別理解整個(gè)多層回調(diào)的運(yùn)行機(jī)制, 貌似傳進(jìn)去的參數(shù)在每次執(zhí)行setTimeout的時(shí)候都會(huì)被'記住', 但是該怎么理解這段代碼, 總是感覺特別繞.希望能有前輩能幫忙解答, 謝謝
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

就是個(gè)回調(diào)的過程


var async = function(arg, callback) {

    console.log(`參數(shù)為${arg}, 一秒后返回結(jié)果`)

    setTimeout(function() {

        callback(arg * 2)

    }, 1000)

}


async(1, function(value){  //第一層延時(shí)1秒回調(diào)value為2

    async(value, function(value){ // 第二次將vaule = 2 作為參數(shù)再執(zhí)行函數(shù),延時(shí)一秒回調(diào),此時(shí)value為4

        async(value, function(value){ // 第三次將vaule = 4 再次作為參數(shù)再執(zhí)行函數(shù),延時(shí)一秒回調(diào),此時(shí)value為8 所以輸出就為8

            console.log('完成: ', value)

        })

    })

})

大概就是這樣,理理思路就能看懂,不難的


查看完整回答
反對(duì) 回復(fù) 2019-03-26
  • 1 回答
  • 0 關(guān)注
  • 912 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)