• 技术文章 >Web开发 >JavaScript

    js中Promise的状态探究

    小妮浅浅小妮浅浅2021-10-29 11:21:42原创164

    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的状态探究,希望对大家有所帮助。更多js学习指路:js教程

    专题推荐:js promise
    品易云
    上一篇:js如何创建执行上下文 下一篇:js中可选的回调函数

    相关文章推荐

    • js标识符模式的介绍• js数组模式是什么• js对象模式如何理解• js逻辑操作符的介绍• js中Array构造器的处理方式• js中Array.of的使用• js中Array.from的用法• js有哪些改变自身值的方法• js中同步如何理解• js中异步是什么意思• js执行上下文的类型• Js如何存储执行上下文• js如何创建执行上下文

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网