.resolve() 和 .promise() 有啥区别?

Posted

技术标签:

【中文标题】.resolve() 和 .promise() 有啥区别?【英文标题】:What is the difference between .resolve() and .promise()?.resolve() 和 .promise() 有什么区别? 【发布时间】:2011-11-30 07:33:44 【问题描述】:

我正在研究 jQuery 的延迟特性。我在互联网上尝试了几个例子。我理解它的概念,但是我不明白resolve()promise()之间的区别。

resolve()promise() 有什么区别?

【问题讨论】:

【参考方案1】:

resolve()promise() 都是 jQuery Deferred 对象上的方法。

首先来自 jQuery 的 sn-p documentation about Deferred:

理解 Deferred 的一个模型是将其视为 链感知函数包装器。 deferred.then(), deferred.done(), 和 deferred.fail() 方法指定要调用的函数和 deferred.resolve(args) 或 deferred.reject(args) 方法“调用” 带有您提供的参数的函数。

考虑到这一点,promise() 返回一个与Deferred 对象非常相似的对象,只是它只有then()done()fail() 方法,而没有 em> 有resolve()reject()

来自 m-sharp 关于promise() 的博文:

当您想为调用 API 提供一些东西时,这很有用 订阅,但不能解决或拒绝延期。

【讨论】:

以上是关于.resolve() 和 .promise() 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

对Promise中的resolve,reject,catch理解

JS中的promise返回的resolve()和reject()的理解附代码展示

Promise中有多个resove

通过resolve和reject控制promise

Promise

Promise.resolve()的参数分4种情况