jQuery延期.通知不工作

jQuery deferred.notify not working

本文关键字:工作 通知 延期 jQuery      更新时间:2023-09-26

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

我将这段代码粘贴到javascript控制台:

<>之前窗口。dfd = $.Deferred();当美元(window.dfd.promise ()) (函数(状态){console.log('已解析,状态:',状态);},函数(状态){console.log('被拒绝,状态:',状态);},函数(状态){console.log('已通知,状态:',状态);});之前

在这里,我希望

window.dfd.notify('hello');

触发第三回调并记录到控制台-但它没有。

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

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

有人知道为什么我没有得到预期的通知结果吗?-和/或我可以做些什么来获得预期的结果?

这对我来说很好,詹姆斯,也许这是你正在调用解决,拒绝或通知的订单。

一旦你解决或拒绝了一个延迟,你就不能再通知它了。

如果你尝试你的代码,像这样做:

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,现在它工作得很好。

谢谢klikas。:)