我刚刚开始学习承诺。我发现他们非常有趣,但我有一些疑问,我无法找到答案。深入了解jQuery承诺
- 我认为
$.Deferred().promise
,$.get().promise
和$.fn.promise().promise
只是相同的功能。 我对不对? - 如果我对上一个问题是正确的,为什么
$.Deferred().promise===$.get().promise
返回false? $('#mybox').hide(3000).promise()
例如,将创建一个承诺对象,其中将被解析,一旦动画队列将为空。什么是的情况下,相当于底层程序:I. $.get().promise() : Is it a queue that is being watched? If yes, which one? If no, which is the trigger for the above promise object to be resolved? II. var defer=new $.Deferred().promise() : The same question!
希望大家帮我澄清上述...
你应该避免jQuery的承诺,因为他们不遵守统一的承诺的提案 –
1.他们都是一个承诺,但不一样的承诺,所以2不会是==更不用说=== 3.I 。一个promise将被解析,任何'then'(或者类似的)回调将以它们所附加的顺序被回调,3.II你不会这样做,因为你没有权限访问延迟执行/拒绝函数来解决承诺(除非jQuery在返回的承诺中公开履行/拒绝) –
@JaromandaX如果回答问题,您可以扩展您的评论并将其发布为答案吗? – twernt