zoukankan      html  css  js  c++  java
  • JS Promise 迷你书 笔记

    1. 使用promise.then(onFulfilled, onRejected) 的话,在 onFulfilled 中发生异常的话,在 onRejected 中是捕获不到这个异常的。
    2. 在 promise.then(onFulfilled).catch(onRejected) 的情况下,then 中产生的异常能在 .catch 中捕获。
    3. .then 和 .catch 在本质上是没有区别的,但需要分场合使用。
    4. .then 和 .catch 中指定的方法调用时异步进行的。
    5. 传给 promise.all 的promise并不是一个个顺序执行的,而是同时开始,并行执行的。
    6. 为了避免上述中同时使用同步、异步调用可能引起的混乱问题,Promise在规范上规定 Promise只能使用异步调用方式 。
    7. Promise.race 在第一个promise对象变为Fulfilled之后,并不会取消其他promise对象的执行。
    8. 使用 reject 会比使用 throw 安全,在 then 中使用reject的方法。
    9. 在Promise中,我们可以选择多种方法来实现处理的按顺序执行。

      • 循环使用then调用的方法

      • 使用for循环的方法

      • 使用reduce的方法

      • 分离出顺序处理函数的方法

      但是,这些方法都是基于JavaScript中对数组及进行操作的for循环或 forEach 等,本质上并无大区别。

      因此从一定程度上来说,在处理Promise的时候,将大块的处理分成小函数来实现是一个非常好的实践。

  • 相关阅读:
    Boost智能指针使用总结
    C++细节理解
    Mysql导入导出
    Mysql Join语法以及性能优化
    数据库设计三大范式
    Mysql子查询
    js面向对象的实现(example 一)
    js对象常用2中构造方法
    RequireJS 加载 easyui
    Cordova 打包 Android release app 过程详解
  • 原文地址:https://www.cnblogs.com/lemonmonster/p/10969070.html
Copyright © 2011-2022 走看看