zoukankan      html  css  js  c++  java
  • Promise基础用法2

    Promise的静态方法

    Promise.resolve()

    Promise.resolve()能快速的将一个传入的值转为Promise对象

      等价于  

    如果传入的是一个 Promise 对象,Promise.resolve 方法原样返回
    如果传入的是带有一个跟 Promise 一样的 then 方法的对象, Promise.resolve 会将这个对象作为 Promise 执行。

    Promise.reject()

    Promise.reject()能快速创建一个必定失败的promise对象。Promise.reject 传入任何值,都会作为这个 Promise 失败的理由。

     Promise的并行执行

     Promise.all

    在实际工作中,如果由多个没有依赖的请求,我们可以采用并行处理的方式,但是若某一个请求需要等待这几个并行的请求全部处理完成后才能触发,我们可以定义一个累加的变量,当变量的值等于请求的个数时,就代表了请求全部完成。在promise中,可以使用Promise.all()方法解决这种问题。

     Promise.race

     Promise.race同样也能将多个promise组合成一个全新的promise对象,但是Promise.all()是需要等待所有任务结束,而 Promise.race则只会等待所有任务中的第一个结束的任务即可,可以用于超时控制。

     Promise执行时序

    • setTimeout 的回调是 宏任务,进入回调队列排队
    • Promise 的回调是 微任务,本轮调用末尾直接执行

      

  • 相关阅读:
    Mybatis查询select操作
    插入排序和它的进化希尔排序
    关于c头文件的使用的小记录
    Mybatis介绍
    spring tool suite开发环境搭建
    一个简单的jsp+servlet登录界面的总结
    纠正关于线程的错误理解
    表达式语言EL简单学习
    [BZOJ 1804] Flood
    [POJ 1739] Tony's Tour
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/14548106.html
Copyright © 2011-2022 走看看