📅  最后修改于: 2023-12-03 14:43:08.846000             🧑  作者: Mango
jQuery Deferred.always()
方法用于指定一个无论成功或失败都会被调用的回调函数。这个方法返回一个被传入的 Deferred
对象,使得其他方法可以继续在其上添加回调函数。
deferred.always(alwaysCallbacks);
Deferred
被 resolved 或 rejected 都会被调用。一个 Deferred
对象,可以继续添加其他回调函数。
function fetchData() {
var dfd = $.Deferred();
setTimeout(function() {
var data = { id: 1, name: "John" };
dfd.resolve(data);
}, 1000);
return dfd.promise();
}
var promise = fetchData();
promise.done(function(data) {
console.log("Data:", data);
});
promise.fail(function(error) {
console.log("Error:", error);
});
promise.always(function() {
console.log("Done or fail");
});
上述代码中,fetchData()
函数返回一个 Deferred
对象。通过调用这个中间函数,可以从异步操作中返回所需的数据。
在这个例子中,我们指定在成功和失败都被处理时都调用 always
方法。这里仅仅输出了一个字符串信息。
jQuery Deferred.always()
方法可以让你指定一个始终要被调用的回调函数。这个方法可以被使用来清理资源、关闭连接等等。在使用 Deferred
对象时,在必要时要添加 always
方法以确保得到理想的结果。