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

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

請(qǐng)各位大佬指點(diǎn)!.then的返回值問題?

請(qǐng)各位大佬指點(diǎn)!.then的返回值問題?

瀟湘沐 2019-06-10 09:51:16
代碼如下:functionitem(args){varposttitle;letp=newPromise((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);})returnvalue;//如何return.then的value值?}需要大家的幫助!~T-T...非常感謝!~
查看完整描述

2 回答

?
喵喔喔

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

Promise中處理的是一個(gè)異步調(diào)用,異步調(diào)用是非阻塞式的,也就是說,你在調(diào)用的時(shí)候并不知道它什么時(shí)候結(jié)束,當(dāng)然也就不會(huì)等到他返回一個(gè)有效數(shù)據(jù)之后再進(jìn)行下一步處理。但是——
異步調(diào)用的內(nèi)容是知道什么時(shí)候結(jié)束的,它結(jié)束之后可以發(fā)出通知。我們一般使用回調(diào)函數(shù)來獲得這個(gè)通知,比如
functionitem(args,callback){//<--注意callback傳入一個(gè)處理函數(shù)
//....
p.then((value)=>{
console.log(value);
callback(value);//<--取得值之后通過回調(diào)進(jìn)行下一步處理
});
}
item(blabla,
(value)=>console.log(`got${value}`)//<--這就是上面提到的callback
);
不過除非特殊情況,一般不應(yīng)該把Promise處理成回調(diào),而應(yīng)該直接返回Promise,以便后續(xù)進(jìn)行基于Promise規(guī)范的處理,比如
functionitem(args){//<--它返回一個(gè)Promise
//....
returnp.then((value)=>{
console.log(value);
returnvalue;
});
}
//繼續(xù)按Promise規(guī)劃在外面進(jìn)行處理
item.then(value=>console.log(`got${value}`));
這樣寫起來似乎不是很符合常見的同步代碼編寫習(xí)慣,那可以用async/await,具體參考閱讀:
理解JavaScript的async/await
                            
查看完整回答
反對(duì) 回復(fù) 2019-06-10
  • 2 回答
  • 0 關(guān)注
  • 1174 瀏覽
慕課專欄
更多

添加回答

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