jQuery deferred.notify 不工作
jQuery deferred.notify not working
我想使用 jQuery Promise Library/API。我为 test/learn 编写了一些代码,但没有得到预期的结果。
我将此代码粘贴到我的 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.notify('hello');
触发第三次回调并记录到控制台 - 但它没有。
这些都给出了预期的结果:
window.dfd.resolve('hello');
window.dfd.reject('hello');
有谁知道为什么我没有收到预期的通知结果? - and/or 我可以做些什么来获得预期的结果?
它对我来说很好,James,也许这是你调用 resolve、reject 或 notify 的顺序。
一旦您解决或拒绝延期,您将无法再通知它。
如果您按原样尝试您的代码并执行如下操作:
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 后,我发现了我的版本问题,安装了 jQuery 2.2.4,现在运行良好。
谢谢点击。 :)
我想使用 jQuery Promise Library/API。我为 test/learn 编写了一些代码,但没有得到预期的结果。
我将此代码粘贴到我的 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.notify('hello');
触发第三次回调并记录到控制台 - 但它没有。
这些都给出了预期的结果:
window.dfd.resolve('hello');
window.dfd.reject('hello');
有谁知道为什么我没有收到预期的通知结果? - and/or 我可以做些什么来获得预期的结果?
它对我来说很好,James,也许这是你调用 resolve、reject 或 notify 的顺序。
一旦您解决或拒绝延期,您将无法再通知它。
如果您按原样尝试您的代码并执行如下操作:
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 后,我发现了我的版本问题,安装了 jQuery 2.2.4,现在运行良好。
谢谢点击。 :)