1、promise可以處于等待被賦值的等待態(tài)(pending),可以給出值并轉(zhuǎn)換為解決態(tài)(resolved)。
2、一旦promise被一個值resolve丟失,它將始終保持這個值不再被resolve丟失。
實例
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前端培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務(wù)經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學管理及學員服務(wù),助力更多學員實現(xiàn)高薪夢想。