问题标签 [jquery-deferred]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
128566 浏览

javascript - 将延迟数组传递给 $.when()

这是一个人为的例子:http: //jsfiddle.net/adamjford/YNGcm/20/

HTML:

JavaScript:

我想要“全部完成!” 在所有延迟任务完成后出现,但$.when()似乎不知道如何处理延迟对象数组。“全部做完!” 首先发生是因为数组不是 Deferred 对象,所以 jQuery 继续并假设它刚刚完成。

我知道可以将对象传递给函数,$.when(deferred1, deferred2, ..., deferredX)但不知道在我试图解决的实际问题中执行时会有多少延迟对象。

0 投票
1 回答
1189 浏览

javascript - 有没有办法在 jQuery 中创建延迟对象包装器

我已经阅读了很多关于新的 jQuery.Deferred 对象的内容。真正有用的一件事是能够将现有对象转换为延迟对象,然后您将获得 100% 的灵活性来获取数据。

我在想一些事情

有谁知道这种方法是否已经存在,或者如何创建一个?

0 投票
3 回答
14401 浏览

javascript - jQuery when/then/fail with concurrent ajax requests:哪个请求失败了?

想象一个场景,我们想要在 'foo' 和 'bar' 的并发请求成功完成后做一些事情,或者如果其中一个或两个都失败则报告错误:

我如何确定 1) 对“foo”的请求是否失败,或者 2) 对“bar”的请求是否失败,或者 3) 如果两者都失败了?

0 投票
1 回答
1734 浏览

javascript - jQuery Deferred 回调的参数是什么?

在 jQuery 中,deferred.then添加了要在 Deferred 对象被解析或拒绝时调用的处理程序。

  • doneCallbacks — 一个函数或函数数组,当 Deferred 被解析时调用。
  • failCallbacks — 当 Deferred 被拒绝时调用的函数或函数数组。

在以下示例中,这些“完成”和“失败”回调函数的参数是什么?

它是否取决于 Deferred 对象的类型?例如:

'x' 会有不同的值吗?

0 投票
8 回答
18966 浏览

javascript - jQuery.when - 当所有延迟不再“未解决”(已解决或被拒绝)时回调?

当多个 Deferred 对象传递给jQuery.when时,该方法从一个新的“主” Deferred 对象返回 Promise,该对象跟踪它已传递的所有 Deferred 的聚合状态。

该方法将要么

  1. 在所有 Deferred 解决后立即解决其 master Deferred,或
  2. 只要其中一个 Deferred 被拒绝,就拒绝其 master Deferred。

如果主 Deferred 被解析(即所有 Deferred 解析),则将传递给 jQuery.when 的所有 Deferred 的解析值传递。例如,当 Deferred 是 jQuery.ajax() 请求时,参数将是请求的 jqXHR 对象,按照它们在参数列表中给出的顺序:

在多个 Deferred 的情况下,其中一个 Deferred 被拒绝,jQuery.when IMMEDIATELY FIRES 为其主 Deferred 的失败回调,即使此时某些 Deferred 可能仍未解决:

当传递给 jQuery.when 的所有 Deferred 不再“未解决”(即,所有“已解决”或“拒绝”)时,我需要触发回调。我可以发送带有 200 个 OK 代码的 JSON 对象(而不是发送带有 404 Not Found 错误状态代码的 JSON)并在 done() 方法中确定成功/错误,但我更愿意让我的 API 保持 RESTful。我怎样才能做到这一点?

0 投票
3 回答
1141 浏览

jquery - 使用新的 jQuery 1.6 $.animate "promise" 和回调之间的区别?

见这里:http ://blog.jquery.com/2011/05/03/jquery-16-released/

这种新格式有什么区别:

和旧的:

0 投票
1 回答
1315 浏览

jquery - 带有延迟的 jQuery ajax 缓存(当同时触发重复请求时)

我想实现一个健壮的 ajax 缓存并寻找合适的模式——可能使用新的 jquery 1.5.2 延迟对象。

这里的最佳答案:

如何使用 jQuery 延迟?

接近了,但失败的地方是如果同时触发两个 ajax 请求,仍然会有 2 个请求到服务器。由于尚未收到响应,因此尚未填充缓存。

我想要一个只向服务器发出 1 个请求的实现,但会将响应返回给两者。

0 投票
1 回答
42295 浏览

ajax - jquery 的 promise 方法是如何真正起作用的?

我真的不明白什么delegatepromise是。

根据文档 -

  • delegate将选择器和事件绑定到某种包装容器,该容器可以在以后再次用于当前和未来的项目。
  • promise()如果新加载的所有内容都匹配,则会将事物重新映射回第一次有界时。可能我不是很懂这个promise方法。

如果包装器仍然存在,但包装器容器中的内容已更改和/或通过重新加载Ajax怎么办?为什么事件没有像第一次绑定时那样触发或工作?

是的,我去过文档页面,我只是不完全理解他们的解释。

0 投票
2 回答
4202 浏览

jquery - jQuery 延迟和承诺与 getScript

我一直在研究 jQuery 中的新(ish)延迟对象,我在这里偶然发现了这篇网站文章。

在文章中是一些设计用于缓存脚本的代码,因此它们不会被多次请求。

$.getScript()这对我来说是一种确保脚本只有在你成功 的情况下才会被执行的方法。

就我的实验而言,即使我提供了不正确的 url,错误回调也不会被调用。

我错过了一些明显的东西还是代码示例错误?

注意:我会在网站上问过这个问题,但评论系统不起作用。:-S

0 投票
2 回答
6516 浏览

jquery - 使用 .each() 延迟的 JQuery

有什么想法可以将 JQuery 的延迟方法与检测所有更改的表单并将每个表单作为 Ajax 帖子提交的功能一起使用吗?

如果我只列出大量表单提交,我可以得到同样的工作,但如果我使用......

我正在尝试使用的代码的更完整版本在这里...... 在 JS Fiddle

提前致谢!