• Promise、Promise.all、Promise.race 分别怎么用


    Promise

    Promise 是异步编程的一种解决方案,比传统的解决方案回调函数和事件更合理和更强大。

    有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。

    一个Promise的当前状态必须为以下三种状态中的一种:等待态(Pending)、执行态(Fulfilled)和拒绝态(Rejected),状态的改变只能是单向的,且变化后不可在改变。

    一个Promise必须提供一个 then 方法以访问其当前值、终值和据因。

    promise.then(onFulfilled, onRejected)回调函数只能执行一次,且返回 promise 对象

    Promise的每个操作返回的都是Promise对象,可支持链式调用。

    通过 then 方法执行回调函数,Promise的回调函数是放在事件循环中的微队列。

    代码:

    function fn(){
       return new Promise((resolve,reject)=>{
          成功时调用resolve(数据)
          失败时调用reject(错误)
       })
    }
    fn().then(success,fail).then(success1,fail1)

    Promise.all用法

    Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。

    Promise.all([promise1,promise2]).then(success,fail)

    promise1和promise2都成功才会调用success

    Promise.race用法

    Promise.race()方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例。

    Promise.race([promise1,promise2]).then(success,fail)

    promise1和promise2只要有一个成功就会调用success。

  • 相关阅读:
    用U3D寻找看电视的感觉!!
    MipMap
    什么是 A 轮融资?有 B轮 C轮么?
    Java写的斗地主游戏源码
    sqlserver sp_spaceused用法
    SQL中的全局变量和局部变量(@@/@)
    SQL2008数据库导出到SQL2000全部步骤过程
    生成Insert语句的存储过程
    物理机连接虚拟机数据库
    配置sql server 2000以允许远程访问
  • 原文地址:https://www.cnblogs.com/yjf713/p/13378672.html
Copyright © 2020-2023  润新知