1、promise可以處于等待被賦值的等待態(tài)(pending),可以給出值并轉(zhuǎn)換為解決態(tài)(resolved)。
2、一旦promise被一個值resolve丟失,它將始終保持這個值不再被resolve丟失。
實(shí)例
function Promise(fn) {
var state = 'pending';
var value;
var deferred;
function resolve(newValue) {
value = newValue;
state = 'resolved';
if(deferred) {
handle(deferred);
}
}
function handle(onResolved) {
if(state === 'pending') {
deferred = onResolved;
return;
}
onResolved(value);
}
this.then = function(onResolved) {
handle(onResolved);
};
fn(resolve);
}
以上就是js中Promise的狀態(tài)探究,希望對大家有所幫助。更多關(guān)于web前端培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢想。