1

我一直在玩$.Deferredand promise(),注意到几乎所有的 jQuery 方法都有一个promise方法,所以我想知道在哪里可以使用 promise。到目前为止,我知道它可以用于:

  • 动画(animate, fadeIn, fadeOut, fadeTo, hide, show, 等)
  • AJAX ( $.ajax, $.post, $.get, $.getJSON, 等)
  • setTimeout 函数(resolve在其中一个函数中手动调用)
  • 类似队列的实现(按顺序执行命令,可以动态插入其他回调)
4

1 回答 1

0

我查看了源代码。看起来你唯一错过的是$.ready.promise(). 这似乎将 JQuery 的主要就绪事件视为一个承诺,因此从一开始您可以编写:

$.ready.promise()
 .then(function() { return $.ajax({ ... }); })
 .then(function(data)
     {
         // do something with data
     })
 .fail(function()
     {
         // handle errors
     });
于 2013-02-05T01:01:32.517 回答