javascript – Promises / A实现有何差异?

规范不涵盖承诺图书馆的哪些方面?实现之间有什么不同?

请说明实际差异的例子(例如Bluebird和Q之间).

解决方法

几乎所有的. Promises / A规范旨在承诺互操作性,它建立了如此有希望的图书馆(现在,本地承诺)可以相互交流.这个想法是可以预测承诺的行为和定义承诺如何被其他图书馆所吸收.

引用规格:

This specification details the behavior of the then method,providing an interoperable base which all Promises/A+ conformant promise implementations can be depended on to provide. As such,the specification should be considered very stable. Although the Promises/A+ organization may occasionally revise this specification with minor backward-compatible changes to address newly-discovered corner cases,we will integrate large or backward-incompatible only after careful consideration,discussion,and testing. Finally,the core Promises/A+ specification does not deal with how to create,fulfill,or reject promises,choosing instead to focus on providing an interoperable then method. Future work in companion specifications may touch on these subjects.

以下内容未涵盖:

>创建承诺(这是promise constructor规范).
>承诺聚合(尽管大多数实现支持.all).
>进步(即progression spec,即将被imo替换).
>取消(即cancellation spec).
>未处理的拒收监测(没有规格,但有检查讨论).
>堆栈跟踪.

蓝鸟和Q等都是完全承诺/投诉,但在很多方面有所不同:

>接下来的Q,v2介绍了估计,Bluebird打算最终贬低进度,喜欢像C#的IProgress这样的东西.
>创建承诺通常在Q中使用延迟(尽管现在提供承诺构造函数变体),Bluebird鼓励承诺构造函数.
Bluebird具有更强大和更强大的应变能力,使整个回调API在单个命令中承诺. Q作者Kris建立了Q-IO,它手动承诺文件系统和http模块.
Bluebird允许通过.bind绑定这个值并承诺数组方法(.map,.reduce,.filter等).
> Q具有异步队列的原语,通过Q连接考虑RPC,
蓝鸟的速度大约是100倍,堆叠轨迹更好,自动的未处理的拒收检测.它每次承诺也消耗了很少的RAM内存.

Here is another reference

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)