您的位置:首页 > JavaScript > js中Promise的状态探究

js中Promise的状态探究

来源:https://www.py.cn/web/js/34677.html 更新时间:2022-08-18

文章导读:1、promise可以处于等待被赋值的等待态(pending),可以给出值并转换为解决态(resolved)。2、一旦promise被一个值resolve丢失,它将始终保持这个值不再被resolve丢失。实例functionPromise(。

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的状态探究,希望对大家有所帮助。

0.060827s