Javascript jQuery deferred.notify不工作

Javascript jQuery deferred.notify不工作,javascript,jquery,promise,deferred,Javascript,Jquery,Promise,Deferred,我想使用jQueryPromise库/API。我写了一些代码来测试/学习它,但没有得到预期的结果 我将此代码粘贴到我的javascript控制台: window.dfd = $.Deferred(); $.when(window.dfd.promise()).then( function(status) {console.log('resolved, status: ', status);}, function(status) {console.log('rej

我想使用jQueryPromise库/API。我写了一些代码来测试/学习它,但没有得到预期的结果

我将此代码粘贴到我的javascript控制台:

window.dfd = $.Deferred(); $.when(window.dfd.promise()).then( function(status) {console.log('resolved, status: ', status);}, function(status) {console.log('rejected, status: ', status);}, function(status) {console.log('notified, status: ', status);} ); 触发第三次回调并登录到控制台-但它没有

这两者都给出了预期的结果:

window.dfd.resolve('hello');
window.dfd.reject('hello');

有人知道我为什么没有得到预期的结果吗和/或我可以采取哪些不同的措施来获得预期的结果?

这对我来说很好,James,也许是您调用的“解决”、“拒绝”或“通知”命令

一旦您解决或拒绝延迟的问题,您就不能再通知它了

如果您按原样尝试代码并执行以下操作:

window.dfd.notify('hello');
window.dfd.resolve('hello');
你应该看到预期收入

解决或拒绝后,您将不再看到通知,因此:

window.dfd.notify('hello');
window.dfd.resolve('hello');
window.dfd.notify('hello'); //this won't log anything

我使用npm安装jquery,它安装了jquery 3.1.0。我一定在读以前版本jQuery的文档。看起来他们一定改变了jQuery3中的Promise API

在得知我的代码适用于klikas之后,我发现了我的版本问题,安装了jQuery2.2.4,现在它工作得很好


谢谢你(克利卡斯)

您使用的是哪个jQuery版本?如果只执行“通知”,而不执行解析或拒绝,则不会获得任何控制台日志。我想知道我是否使用了错误的jQuery版本?我使用的是jQuery 3.1.0。当它为您工作时,您使用的是什么版本?我切换到jQuery 2.2.4,现在它按预期工作。谢谢你回答我的问题。:)嗯,通知可能出于某种原因被拒绝,所以你可能想考虑使用其他的东西。
window.dfd.notify('hello');
window.dfd.resolve('hello');
window.dfd.notify('hello'); //this won't log anything