返回介绍

deferred.done()

发布于 2017-09-11 14:02:31 字数 2272 浏览 1217 评论 0 收藏 0

所属分类:延迟对象

deferred.done( doneCallbacks [, doneCallbacks ] )返回: Deferred

描述: 当Deferred(延迟)对象解决时,调用添加处理程序。

  • 添加的版本: 1.5deferred.done( doneCallbacks [, doneCallbacks ] )

    • doneCallbacks 类型: Function() 一个函数,或者函数数组,当Deferred(延迟)对象得到解决时被调用。
    • doneCallbacks 类型: Function() 可选的一个函数,或者函数数组,当Deferred(延迟)对象得到解决时被调用。

deferred.done()方法接受一个或多个参数,所有这些都参数可以是一个单一的函数或一个函数数组。当Deferred(延迟)解决时,doneCallbacks被调用。回调是依照他们添加的顺序执行。一旦deferred.done()返回Deferred(延迟)对象,Deferred(延迟)可以链接其它的延迟对象,包括增加额外的.done()方法。当Deferred(延迟)解决,doneCallbacks执行,并且使用提供给resolveresolveWith方法的参数,依照被添加的顺序调用。有关详细信息,请参阅文件Deferred(延迟) 对象 。

例子:

Example: 一旦jQuery.get 方法返回一个来自延迟的对象的jqXHR对象,我们可以附加一个成功回调使用.done() 方法。

$.get("test.php").done(function() {
  alert("$.get succeeded");
});

Example: 当用户点击按钮时,受理延迟对象,触发一系列回调函数:

<!DOCTYPE html>
<html>
<head>
  <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
 
 <button>Go</button>
 <p>Ready...</p>
 
<script>
/* 3 functions to call when the Deferred object is resolved */
function fn1() {
  $("p").append(" 1 ");
}
function fn2() {
  $("p").append(" 2 ");
}
function fn3(n) {
  $("p").append(n + " 3 " + n);
}
 
/* create a deferred object */
var dfd = $.Deferred();
 
/* add handlers to be called when dfd is resolved */
dfd
/* .done() can take any number of functions or arrays of functions */
.done( [fn1, fn2], fn3, [fn2, fn1] )
/* we can chain done methods, too */
.done(function(n) {
  $("p").append(n + " we're done.");
});
 
/* resolve the Deferred object when the button is clicked */
$("button").bind("click", function() {
  dfd.resolve("and");
});
</script>
 
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文