优点:
让回调函数变成了规范的链式写法,程序流程可以看的很清楚。他有一整套接口,可以实现许多强大的功能,比如同时执行多个异步操作,等到他们的状态都改变以后,在执行一个回调函数;再比如,为多个回调函数中抛出的错误,统一制定处理方法…

有一个传统写法没有的好处:他的状态一旦改变,无论何时查询,都能得到这个状态。这意味着无论何时为peomise实例添加回调函数,该函数都能正确执行。
传统写法的话都通过监听事件来执行回调函数,一旦错过了事件,再添加回调函数是不会执行的。
缺点:
编写的难度比传统写法高,而且阅读代码也不是一眼可以看懂。你只会看到一堆then,必须自己在then的回调函数里面理清逻辑。
promise两个缺点,一个是一旦开始执行就无法取消,第二个就是无法进度追踪

转自JavaScript标准参考教程

Promise优缺点相关推荐

  1. JavaScript Promise查缺补漏

    Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息 原文链接 Promise简介 ECMAscript6原生提供了Promise对象,由浏览器直接支持,目前大多数浏览器都已经实现了, ...

  2. JS执行Promise

    Promise Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理且更强大.它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise ...

  3. Promise的使用

    Promise的使用 什么是Promies 简单地说Promise是异步编程的一种解决方案 Promise是ES6中的特性,Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolv ...

  4. 前端js进阶之ES6 Promise(承诺)用法小结笔记、详细解释(resolve,catch,catch)历史最通俗易懂的承诺

    什么是Promise? 英文翻译:承诺! js里: Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all.reject.resolve这几个方法,原型上有then.catch ...

  5. JS异步执行,Promise用法

    Promise Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理且更强大.它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise ...

  6. promise原理与async 及 await

    promise原理与async 及 await 1.1 Promise是一个构造函数 1.2 Promise优缺点 1.3 async 及 await 1.4 相较于 Promise,async/aw ...

  7. 七、前端开发-JavaScript HTTP

    七.前端开发语言体系-JavaScript HTTP 文章目录 七.前端开发语言体系-JavaScript HTTP JavaScript AJAX AJAX简介 AJAX-XMLHttp AJAX请 ...

  8. 1年工作经验8月份大厂面试全记录

    大家好,我是若川.最近组织了源码共读活动<1个月,200+人,一起读了4周源码>,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 ruochuan12 ...

  9. es6---Promise

    promise是什么? Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理且更强大.它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Pro ...

  10. 2020 web前端面试题及答案大全

    css相关 1. 万能居中 1.margin: 0 auto;水平 2.text-align: center;水平 3.行高,垂直 4.表格,center,middle:水平垂直 5.display: ...

最新文章

  1. 机器学习实践:了解数据核心的通用方法!
  2. RHEL7 timedatectl命令
  3. Apache Sentry手动安装、使用手册
  4. FD.io VPP:CentOS7下构建自己的VPP RPM包
  5. 东软软件动态生成对数据表更新操作的方法
  6. C++ STL unordered_map按照value排序
  7. android中计算日期差,Android编程实现根据不同日期计算天数差的方法
  8. Mac 安装 python brew
  9. SciPyCon 2018 sklearn 教程(下)
  10. WLAN 无线局域网 基本概念
  11. Right-BICEP 测试四则运算程序
  12. 插图精美的html css教程
  13. 前端做微信好友分享_一篇搞定微信分享和line分享
  14. html视频怎么转换成图片,WPS演示如何将图片转换成视频?
  15. DDL(数据库定义语言)
  16. 【区块链技术与应用】(四)
  17. Netbackup8.0以上版本,服务端生成证书,客户端获取、更新证书方式(整理中)
  18. 3、Animation使用脚本控制动画
  19. 该死的研华PCL-730数字IO板卡
  20. 华为无线路由器显示无服务器,华为无线路由器怎么设置 WiFi路由器的设置方法...

热门文章

  1. “店小二”精神国际化步伐23年成就巨无霸
  2. Kaggle--房价预测
  3. opencv直方图,lomo,cartoon
  4. LCD3D打印机和DLP3D打印技术的区别详解
  5. 如何构建OctoberCMS Widget插件
  6. 在地化和本土化的区别_翻译和本地化有什么区别?
  7. Elasticsearch开启安全认证详细步骤
  8. Spring Security完成安全认证
  9. 统计学基础--假设检验
  10. clone远程代码 在不同电脑上git_Git 同一电脑配置多个远程仓库