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

31

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

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

1个回答

34

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提供订阅内容,但不想提供解决或拒绝延迟的能力时,这非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接