基本认识

Promise的核心价值是创建一个异步执行的过程,并给你善后的机会。

Promise对象一但创建就会立即执行,执行过程是异步的,不会对后续的逻辑造成阻塞。

直接声明,立即执行

        let promise = new Promise ( (resolve, reject) => {//执行耗时的逻辑。。。if ( success ) {resolve(a)   // pending ——> resolved 参数将传递给对应的回调方法} else {reject(err)  // pending ——> rejectd}} )//后续代码会继续执行,而不是等待Promise内部逻辑执行完毕。//...

放到函数里,需要时执行

function promise () {return new Promise ( function (resolve, reject) {//执行耗时的逻辑。。。if ( success ) {resolve(a)} else {reject(err)}} )}

Promise内逻辑执行完毕后,调用resolve还是reject,完全要看编程者的意图。调用resolve就会触发Promise的then,调用reject就会触发Promise的catch。
这就是设计的价值之处,执行完毕一个耗时操作后,给你一个条件回调的机会用于执行后续逻辑。

    promise.then(() => { console.log('this is success callback') }).catch((err) => { console.log(err) })

更多

then() 和 catch() 都会返回一个新的Promise对象,可以链式调用。

    promise.then(() => { console.log('this is success callback') }).catch((err) => { console.log(err) }).then(...).catch(...)

转载于:https://blog.51cto.com/livestreaming/2299777

ES6的Promise -- 逻辑执行的顺序相关推荐

  1. Promise.all执行顺序

    Promise.all执行顺序 理解 栗子 理解 Promise.all等待所有Promise执行完毕之后,按照放在all中的先后顺序将resolve()返回的数据放在Promise.all的reso ...

  2. 8张图让你一步步看清 async/await 和 promise 的执行顺序

    2019独角兽企业重金招聘Python工程师标准>>> **摘要:**面试必问 原文:8张图帮你一步步看清 async/await 和 promise 的执行顺序 作者:ziwei3 ...

  3. 【vue】使用Promise方法保证按顺序执行

    [vue]使用Promise方法保证按顺序执行 使用Promise方法可以叠加.then方法,来保证执行顺序. queryTasksNum(){// TODO: 如果和queryImg都放在mount ...

  4. select语句的逻辑执行顺序,你知道吗?

    回顾一下上一篇博客说到的问题: mysql -uroot -ptest 我们不能赤裸裸的将账户和密码就这样写在你的脚本里,这并不是一个好做法.所有能够访问你脚本的人都会知道数据库的用户账户和密码.要解 ...

  5. SQL查询语句逻辑执行顺序

    1.查询语句的逻辑执行顺序 执行1:from 执行2:on 执行3:join 执行4:where 执行5:group by 执行6:having 执行7:select 执行8:distinct 执行9 ...

  6. Mysql各关键字的逻辑执行顺序

    Mysql各关键字的逻辑执行顺序 下面的执行顺序只是一种逻辑顺序,由于Mysql优化器的作用,实际情况可能略有不同.使用explain语句可以分析sql语句的执行顺序,但也不保证准确性. (8) SE ...

  7. SELECT语句逻辑执行顺序,你知道吗?

    引言 这不是一个什么多深的技术问题,多么牛叉的编程能力.这跟一个人的开发能力也没有非常必然的直接关系,但是知道这些会对你的SQL编写,排忧及优化上会有很大的帮助.它不是一个复杂的知识点,但是一个非常基 ...

  8. SqlServer中Sql语句的逻辑执行顺序

    准备数据 Sql脚本如下,两张表,一张客户表Customers只包含customerid和city字段,一张订单表Orders包含orderid和customerid(关联Customers的cust ...

  9. HiveQL逻辑执行顺序

    FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY Hive总是按照从左到右的顺序执行的,如a.b.c三个表关联 select ...

最新文章

  1. 最小环算法求解(Dijkstra算法+Floyd算法)
  2. 19.Oracle10g服务器管理恢复--RMAN表空间恢复(练习33)
  3. html页面缓存纪txt,cdn缓存的html静态页未更新小记
  4. mysql的左连接应用
  5. 关于 SAP UI5 系统测试工具 UIVeri5 的 Chromedriver 版本问题
  6. 设计模式C++实现(7)——装饰模式
  7. arch linux 树莓派,树莓派上安装配置Archlinux
  8. .NET (C#)ASP.NET 应用程序与页面生命周期
  9. C#中级-Windows Service程序安装注意事项
  10. word for mac 输入拼音时出现方框
  11. dell主板恢复出厂设置_DELL如何进入BIOS及恢复BIOS出厂设置
  12. 巴比特 | 元宇宙每日必读:红杉中国“雇”了一位虚拟员工,自称每秒可看百份商业计划书,期待时薪为0.68元...
  13. Windows系统中禁止某应用程序联网操作方法
  14. 07年个人站长闯关,三条道路通罗马
  15. 基于arduino的幻尔总线机器人
  16. Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)
  17. 爬虫xx网站论坛的帖子源码分享
  18. openssl加密与模拟CA签证和颁发
  19. 计算机表格中如何计算数据透视表,Excel表格中在数据透视表中添加计算字段的方法...
  20. gmt转换北京时间 java_java GMT 日期转换 | 学步园

热门文章

  1. caffeine 淘汰策略
  2. 消息中间件--RabbitMQ --- 消费端限流 -- 非常重要
  3. GitHu的诞生记 转 https://blog.csdn.net/fanpeihua123/article/details/58151161
  4. Android之设置横屏竖屏
  5. IDEA如何添加本地项目到git上
  6. MySQL数据库常用的操作命令(二)
  7. Maven使用创建项目(一)
  8. MySQL逻辑架构以及调优篇
  9. JVM类加载机制详解
  10. 使用networkx来生成网络科学里面三种常见的网络