1、promise可以處于等待被賦值的等待態(pending),可以給出值并轉換為解決態(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的狀態探究,希望對大家有所幫助。更多關于web前端培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。