jQuery deferred.always()方法

  • Post category:jquery

jQuery deferred.always()方法用于向一个延迟对象添加一个回调函数,该回调函数在延迟对象的状态变为“已完成”或“已失败”时都会被调用。以下是关于jQuery deferred.always()方法的详细攻略,含两个示例,演示如何使用jQuery deferred.always()方法:

语法

jQuery deferred.always()方法的语法如下:

deferred.always(alwaysCallbacks);

参数说明:

  • alwaysCallbacks:必需。要添加到延迟对象的回调函数或调函数数组。

返回值:

  • 返回当前延迟对象。

示例1

以下是一个简单的示例,演示如何使用jQuery deferred.always()方法向一个延迟对象添加一个回调函数:

<div id="result"></div>

<script>
var deferred = $.Deferred();

deferred.resolve("已完成");

deferred.always(function(msg) {
  $("#result").append("<p>" + msg + "</p>");
});
</script>

在这个示例中,我们创建了一个延迟对象,并使用deferred.resolve()方法将其状态设置为“已完成”。然后,我们使用deferred.always()方法向该延迟对象添加一个回调函数,该回调函数在延迟对象的状态变为“已完成”或“已失败”时都会被调用。在这个示例中,由于延迟对象的状态经被设置为“已完成”,因此该回调函数会被立即调用,并向页面添加一条消息。

示例2

以下是另一个示例,演示如何使用jQuery deferred.always()方法向一个延迟对象添加多个回调函数:

<div id="result"></div>

<script>
var deferred = $.Deferred();

deferred.reject("已失败");

deferred.always([
  function(msg) {
    $("#result").append("<p>第一个回调函数:" + msg + "</p>");
  },
  function(msg) {
    $("#result").append("<p>第二个回函数:" + msg + "</p>");
  }
]);
</script>

在这个示例中,我们创建了一个延迟对象,并使用deferred.reject()方法将其状态设置为“已失败”。然后,我们使用deferred.always()方法向该延迟对象添加两个回调函数,这两个回调函数在延迟对象的状态变为“已完成”或“已失败”时都会被调用。在这个示例中,由于延迟对象的状态已经被设置为“已失败”,因此这两个回调函数都会被立即调用,并向页面添加两条消息。

总结

上所述,jQuery deferred.always()方法用于向一个延迟对象添加一个回调函数,该回调函数在延迟对象的状态变为“已完成”或“已失败”时都会被调用。以上是两个示例,演示如何使用jQuery deferred.always()方法。