.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理解