zoukankan      html  css  js  c++  java
  • ES6 promise

    一. promise的三种状态

      1. pending[待定]: 初始状态( 刚开始实例化promise时的状态 )

      2. fufilled[实现]:  操作成功 ( 执行完毕,调用resolve的时候,会被切换为fufilled状态 )

      3. rejected[被否决] : 操作失败 ( 执行出错,调用reject的时候,会被切换为rejected状态 )

    promise的状态一旦发生改变,就会触发.then()里的响应函数来处理后续步骤

    promise的状态一经改变是不会再改变的

    promise一经创建,执行器立刻开始执行

    promise是一个队列,当promise已经执行完成后, 在.then也会接收到promise返回的结果

    .then()接收两个函数作为参数, 分别代表fufilled和rejected

    .then()会返回一个新的promise实例,所以他可以链式调用

    当前面的promise的状态改变时, .then()就会根据其最终状态,选择特定的状态响应函数执行

    状态响应函数可以返回一个新的promise,或返回其他值,不返回值也可以(默认返回undefined)

    如果返回新的promise, 那么下一级的.then()会在新的promise状态改变之后执行   (如果返回的是其他的任何值,则会立即执行下一级的.then())

    promise会自动捕获内部异常,并交给rejected响应函数处理

    catch也会返回一个promise实例,如果其中没有抛出错误的话,那么它返回的promise实例也是一个fulfilled的状态, 所以后面的.then()还是会被执行

  • 相关阅读:
    struts2 批量上传.
    jsoup html解析器 实现对博客园博文标题链接抓取
    赶鸭子上架的cdq分治
    RE:从零开始的莫比乌斯反演
    我永远无法学会的dp
    gym 101915
    2017-2018 ACM-ICPC Latin American Regional Programming Contest GYM101889
    网络流24T
    re:从零开始的数位dp
    Codeforces Round 504
  • 原文地址:https://www.cnblogs.com/mailyuan/p/11294528.html
Copyright © 2011-2022 走看看