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

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

.then的返回值如何被函數(shù)return?

.then的返回值如何被函數(shù)return?

九州編程 2019-03-25 10:30:29
代碼如下:function item(args){    var posttitle;    let p = new Promise((resolve, reject) => {         hexo.extend.filter.register('after_post_render',function(post){             posttitle = post.title;             resolve(posttitle);            // 這里的post是文章的數(shù)據(jù),而post.title則是文章的標(biāo)題...         });     })     p.then((value) => {        console.log(value);     })    return value;    //如何return .then的value值?}需要大家的幫助!~T-T...非常感謝!~
查看完整描述

2 回答

?
絕地?zé)o雙

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

Promise 中處理的是一個(gè)異步調(diào)用,異步調(diào)用是非阻塞式的,也就是說(shuō),你在調(diào)用的時(shí)候并不知道它什么時(shí)候結(jié)束,當(dāng)然也就不會(huì)等到他返回一個(gè)有效數(shù)據(jù)之后再進(jìn)行下一步處理。但是——

異步調(diào)用的內(nèi)容是知道什么時(shí)候結(jié)束的,它結(jié)束之后可以發(fā)出通知。我們一般使用回調(diào)函數(shù)來(lái)獲得這個(gè)通知,比如

function item(args, callback) {     // <-- 注意 callback 傳入一個(gè)處理函數(shù)
    // ....
    p.then((value) => {        console.log(value);
        callback(value);        // <-- 取得值之后通過(guò)回調(diào)進(jìn)行下一步處理
    });
}

item(blabla,
    (value) => console.log(`got ${value}`)  // <-- 這就是上面提到的 callback);

不過(guò)除非特殊情況,一般不應(yīng)該把 Promise 處理成回調(diào),而應(yīng)該直接返回 Promise,以便后續(xù)進(jìn)行基于 Promise 規(guī)范的處理,比如

function item(args) {       // <-- 它返回一個(gè) Promise
    // ....
    return p.then((value) => {        console.log(value);        return value;
    });
}// 繼續(xù)按 Promise 規(guī)劃在外面進(jìn)行處理item.then(value => console.log(`got ${value}`));

這樣寫(xiě)起來(lái)似乎不是很符合常見(jiàn)的同步代碼編寫(xiě)習(xí)慣,那可以用 async/await,具體參考閱讀:


查看完整回答
反對(duì) 回復(fù) 2019-03-25
?
元芳怎么了

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

嗯,我想說(shuō)的是不能直接在then里面用嗎?

function item(){    return new Promise(resolve => {
            resolve('aaaa')
        }
    )
}

item().then(value=> {    console.log(value);
})

或者是你直接用個(gè)延時(shí)去???


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

添加回答

舉報(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)