promise 的学习

promise 是为了解决异步操作的顺序问题而产生的

特性  

  promise 的实例一旦创建就会执行里面的异步操作

  promise 的实例状态一旦改变就变成凝固的了, 无法再对其作出修改,  (不明白为什么如此设计)

  then 方法在所有的同步脚本执行完成之后才会执行

  promise 会吞掉错误, 也就是内部的错误不影响外部的

  在 primise中嵌套 promise, 里面的执行时间决定外面的执行时间

  多个 then 是同步执行的, 后面的 then 会等待前面 then 的执行完成

实例方法

  then 执行回调操作

  catch 捕获错误, 应该就是处理错误的语法糖

  finally 不论如何总是会执行的, 是 then 的特例

类(静态)方法

   Promise.all  接受一个promise 实例的数组, 其结果依赖于数组中实例的状态, 都是 resolve的时候, promiseAll 实例才是 resolve

  Promise.race 也是接受一个 promise 实例数组, 谁第一返回结果, 谁就决定 promiseAll的状态

  Promise.resolve 把一个非 promise 对象转化为 promise 对象, 

  Promise.reject, 真没发现这个方法有啥存在的必要

  Promise.try 可以让同步函数同步执行, 异步函数异步执行

  Promise.catch 可以同时捕获同步和异步错误

  

  

 

  

原文地址:https://www.cnblogs.com/cgdx/p/10762788.html