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

  • 相关阅读:
    关于生成二维码的相关参考资料
    C#生成二维码的方法
    .NET 二维码生成(ThoughtWorks.QRCode)
    微信扫描二维码登录网站技术原理
    C# ArrayList的用法
    C#多线程编程
    c#使用多线程的几种方式示例详解
    解决Winform应用程序中窗体背景闪烁的问题
    C# 线程调用主线程中的控件
    30、网络编程
  • 原文地址:https://www.cnblogs.com/mailyuan/p/11294528.html
Copyright © 2011-2022 走看看