gpt4 book ai didi

javascript - $.Deferrednotify()&progress()同步混淆

转载 作者:行者123 更新时间:2023-11-28 01:19:18 25 4
gpt4 key购买 nike

我正在使用一个延迟对象,有时我想同步通知它(如果我的结果已经在缓存中)。

为什么只收到最后一条通知?

var dfd = $.Deferred();

for(var i = 0; i < 3; i++){
dfd.notify(i);
}

dfd.progress(function(i){
console.log(i); // 2
// expected: 0, 1, 2
});

http://jsfiddle.net/uShAP/

最佳答案

你只会收到一个通知,因为进度是在调用notify后设置的。如果您首先设置进度方法,您将收到所有:

var dfd = $.Deferred();

dfd.progress(function(i){
console.log(i);
});

for(var i = 0; i < 3; i++){
dfd.notify(i);
}

发生这种情况是因为当您设置进度方法并且已经调用了notify时,您可能只想接收最后一个值,因此您可以立即反射(reflect)当前状态。

关于javascript - $.Deferrednotify()&progress()同步混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23423134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com