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()还是会被执行

  • 相关阅读:
    Javascript 加解密
    Netsuite 友好提示
    一中另类调试javascrīpt的好方法
    js 转化为标准日期型
    多站点整合—单点登录简单方案{装载}
    win+e 失效
    (转载)向页面某处动态添加js的方法
    prototype.js源码解读(一)
    Saved search in customer center on tab
    spring boot 加载web容器tomcat流程源码分析
  • 原文地址:https://www.cnblogs.com/mailyuan/p/11294528.html
Copyright © 2011-2022 走看看