📅  最后修改于: 2023-12-03 15:02:09.542000             🧑  作者: Mango
在使用 JQuery 的 Deferred 对象时,可以使用 notify()
方法来触发目前正在进行中的异步操作的进度通知。该方法可以在异步操作的执行过程中,及时提供操作的进展信息给相关代码。
deferred.notify( [args ] )
args
(可选): 传递给进度处理函数的额外参数,可以是任意类型的数据。返回一个与当前 Deferred 对象关联的 Promise 对象。
promise()
方法的 Deferred 对象生效。notify()
方法将调用任何通过 promise()
方法附加到该 Deferred 对象的进度处理函数。function loadData() {
var deferred = $.Deferred();
var progress = 0;
var timer = setInterval(function() {
progress += 10;
deferred.notify("Progress: " + progress + "%");
if(progress >= 100) {
clearInterval(timer);
deferred.resolve("Data loaded successfully");
}
}, 1000);
return deferred.promise();
}
var promise = loadData();
promise.progress(function(message) {
console.log(message);
});
promise.done(function(result) {
console.log(result);
});
每秒钟将会输出当前进度的消息,当进度达到 100% 时,输出加载成功的消息。
Progress: 10%
Progress: 20%
Progress: 30%
...
Data loaded successfully
以上就是关于 JQuery deferred.notify() 方法的介绍。该方法可以用于在异步操作执行过程中,向相关代码传递进度通知。