promises与旧式callbacks有一些相似之处。它们本质上是一个返回的对象,您可以将回调函数附加到该对象上,而不必将回调作为参数传递给另一个函数。

然而,Promise是专门为异步操作而设计的,与旧式回调相比具有许多优点:

您可以使用多个then()操作将多个异步操作链接在一起,并将其中一个操作的结果作为输入传递给下一个操作。这种链接方式对回调来说要难得多,会使回调以混乱的“末日金字塔”告终。 (也称为回调地狱)。
Promise总是严格按照它们放置在事件队列中的顺序调用。
错误处理要好得多——所有的错误都由块末尾的一个.catch()块处理,而不是在“金字塔”的每一层单独处理。

Promises 对比 callbacks相关推荐

  1. 浅谈ECMAScript 6下的promises API

    9.2. 构造函数          promise 的构造函数为以下形式: var p = new Promise(executor(resolve, reject));     上面创建了一个行为 ...

  2. 【译】JavaScript中的Promises

    你有没有在JavaScript中遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出的承诺有关呢? 此外,你为什么要使用promises ...

  3. Observables简介以及它们与Promise有何不同

    'Observables', 'Observables', 'Observables'...Yes! Today, we will talk about this often discussed wo ...

  4. 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字

    by Mariya Diminsky 通过玛丽亚·迪明斯基(Mariya Diminsky) 了解ES6 The Dope Way Part II:Arrow功能和'this'关键字 (Learn E ...

  5. [译]Front-end-Developer-Interview-Questions

    翻译自Front-end-Developer-Interview-Questions 对于有些不确定的翻译其下面给出原文. 这份文件包含一系列用于面试审查求职者(候选人)的前端面试问题.这并不推荐把每 ...

  6. mongodb atlas_如何使用MongoDB Atlas将MERN应用程序部署到Heroku

    mongodb atlas 简介 (Introduction to MERN) In this article, we'll be building and deploying an applicat ...

  7. 使用fetch封装请求_关于如何使用Fetch API执行HTTP请求的实用ES6指南

    使用fetch封装请求 In this guide, I'll show you how to use the Fetch API (ES6+) to perform HTTP requests to ...

  8. 文件从头开始读函数_如何从头开始编写自己的Promisify函数

    文件从头开始读函数 介绍 (Introduction) In this article, you will learn how to write your own promisify function ...

  9. 2017年成为全栈开发工程师的权威指南

    http://www.css88.com/archives/7529?utm_source=tuicool&utm_medium=referral 根据 2016年 Stack Overflo ...

最新文章

  1. 芯片初创公司一亿融资可以烧多久
  2. 删除计算机系学生的选课记录6,天津理工大学+数据库实验二.doc
  3. gerrit上sshkey设置问题
  4. Disruptor是一个高性能的异步处理框架
  5. JavaScript 面向对象
  6. YUV格式学习:Y转换成RGB24
  7. HDU 2588 GCD 【Euler + 暴力技巧】
  8. 使用migration创建表时,出错的解决方法
  9. 华为毕昇JDK8的改进,效果很一般
  10. Vasp 石墨烯能带计算
  11. foxmail信纸设置html,教你如何设置Foxmail信纸花样?
  12. Nginx安装SSL证书
  13. 尚硅谷javaWeb书城项目第一阶段 用js实现
  14. 实验三 类与对象(zxt)
  15. 单反相机坏点和噪点测试软件,单反相机验机及坏点测试方法(多数适用于佳能)...
  16. 读《微波工程(第三版)》笔记 (4:波方程和基本平面波的解)
  17. 【python】猫眼爬虫Top100电影信息
  18. 【算法】leetcode 974. 和可被 K 整除的子数组(前缀和思想)
  19. git push 报错 ---error: commit 8aa8e31: email address yin.jiaqing@.....com is not registered in your
  20. 斑马打印机ZT230踩坑记

热门文章

  1. PPTV Docker集群的网络方案选型
  2. git clone 指定分支
  3. C#算法设计排序篇之09-基数排序(附带动画演示程序)
  4. 注册表操作命令reg
  5. 分布式团队_我们说的意思是:我们是一个分布式优先团队
  6. boss直聘用什么语言开发_我不在乎开发人员使用什么工具。 我根据基本原则聘用。...
  7. React Router入门指南
  8. java怎么计算等式_谁能解释计算这个等式的步骤? Java的
  9. VS2013的boost.python编译
  10. java中IO流的标准异常处理代码