首页 > web前端 > js教程 > JavaScript 中的 Deferreds、Promise 和 Future 之间有什么区别?

JavaScript 中的 Deferreds、Promise 和 Future 之间有什么区别?

Mary-Kate Olsen
发布: 2024-10-23 20:00:30
原创
252 人浏览过

What's the Distinction Between Deferreds, Promises, and Futures in JavaScript?

JavaScript 中 Deferreds、Promise 和 Future 的区别

在 JavaScript 中,deferreds、promise 和 futures 通常用于处理异步操作。每个概念都有其独特的一组特征:

Deferreds

在正式文档中从未明确定义,deferreds 通常用作 Promise 解析的仲裁者,实现解决和拒绝功能。它们也可以作为 Promise 实现,从而能够使用 then 函数。

Promises

Promise 代表了此上下文中最全面的概念。它们封装异步操作的结果,公开接受另一个目标函数的 then 函数。 Promises/A 规范为 Promises 的行为方式设定了标准,解决了早期 Promises/A 规范中的歧义。

Futures

当前讨论中不太常用的术语,futures 是指抽象同步性和错误处理而不提供 then 功能的代理对象。例如,FutureJS 一般使用该术语来实现此类目的。

主要区别

  • 解决责任: Deferred 负责解决Promises。
  • Thenability: Promise 总是实现 then 函数,而 futures 通常不会。
  • 共性: Deferreds 通常用于实现,而期货则不太普遍。承诺是最广泛使用的概念。

总之,虽然这些术语有时可以互换使用,但它们各自具有不同的特征。 Deferreds 是 Promise 解析背后的驱动力,Promise 代表了异步操作的整体策略,而 futures 是一个不太常用的抽象同步性术语。

以上是JavaScript 中的 Deferreds、Promise 和 Future 之间有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板