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 一般使用该术语来实现此类目的。
主要区别
总之,虽然这些术语有时可以互换使用,但它们各自具有不同的特征。 Deferreds 是 Promise 解析背后的驱动力,Promise 代表了异步操作的整体策略,而 futures 是一个不太常用的抽象同步性术语。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3