• 技术文章 >Web开发 >JavaScript

    js中Promise的状态探究

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

    1、promise可以处于等待被赋值的等待态(pending),可以给出值并转换为解决态(resolved)。

    2、一旦promise被一个值resolve丢失,它将始终保持这个值不再被resolve丢失。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    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学习网