我正在研究jQuery的延迟特性。我在网上尝试了几个例子,我理解了它的概念,但我不明白resolve()
和promise()
之间的区别。
resolve()
和promise()
有什么区别?
resolve()
和promise()
都是jQuery Deferred
对象的方法。
首先是来自jQuery关于Deferred的文档中的代码片段:
理解Deferred的一种模型是将其视为具有链式功能的函数包装器。 deferred.then()、deferred.done() 和 deferred.fail() 方法指定要调用的函数,deferred.resolve(args) 或 deferred.reject(args) 方法使用你提供的参数“调用”这些函数。
在此基础上,promise()
返回的对象与Deferred
对象非常相似,只不过它只有then()
、done()
和fail()
方法,而没有resolve()
或reject()
方法。
从m-sharp提到的关于promise()
的博客文章中可以看到:
当您想为调用API提供订阅内容,但不想提供解决或拒绝延迟的能力时,这非常有用。