问题标签 [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 投票
1 回答
978 浏览

javascript - “未解决”延迟对象

简而言之,有没有办法“解决”延迟对象?

例如:我们有一个需要定期更新或触发事件时更新的数据列表。使用 .ajax() 创建的延迟对象并传递它的 promise 以收集回调会很棒。然后在我们需要时“触发”该 ajax 请求并让所有回调做出反应。那可能吗?

干杯

0 投票
1 回答
1986 浏览

jquery - jQuery'延迟对象/承诺'性能?

有没有人知道使用新的 jQuery 'promises/deferred object' 模式而不是具有标准“成功”和“错误”回调的旧 jQuery 样式 ajax 方法所涉及的任何重大性能损失?

我知道向前发展我们现在没有太多选择,因为“延迟”对象现在已内置到 AJAX 核心中,但只是想知道是否有任何可衡量的差异,以及新的“承诺”设计模式是否实际上比旧的更有效学校匿名函数回调?

亲切的问候,马克

0 投票
1 回答
1166 浏览

javascript - 如何在 jquery 中获取多个延迟调用的 ajax 结果?

我正在尝试让 jquery 延迟工作,如下面的代码所示。

两个调用都完成后,我想提取两个调用返回的 Json 数据。但是,“结果”对象只包含第一次调用 (GetData1) 返回的数据?如何在上面的“then”回调方法中获得两个调用的结果。

0 投票
1 回答
544 浏览

javascript - jQuery.Deferred "then" 回调给出了意外的行为

似乎在编辑对象then()时回调没有触发。我的理解是无论解决还是拒绝都应该执行。Deferredrejectthen()Deferred

这是一个示例(在 jsFiddle 控制台中打开

0 投票
1 回答
15271 浏览

jquery - jQuery jqXHR - 取消链式调用,触发错误链

我正在创建一个用于与我的服务器方法交互的 ajax 实用程序。我想利用 jQuery.ajax() 调用返回的对象中的 jQuery 1.5+ 延迟方法。情况如下。

  1. 服务器端方法总是返回一个 JSON 对象:

    { success: true|false, data: ... }

  2. 客户端实用程序像这样启动 ajax 调用

    var jqxhr = $.ajax({ ... });

  3. 问题区域:

    /li>

所以问题是如何取消所有调用者附加成功回调的调用,并在提到的地方触发他的错误处理程序????

文档说延迟函数调用列表是 FIFO,所以我的成功处理程序绝对是第一个。

0 投票
2 回答
2180 浏览

jquery - jquery 1.5.1 延迟对象 .when() .then() 混淆

我有两个从 .net 3.5 页面返回日期的网络方法。
每个分别返回一个开始和结束日期字符串。
我尝试打电话给他们,然后在他们都完成后输出他们的结果作为警报作为一个简单的测试,但我不能成功地做到这一点。
当我单步执行代码时,会在填充全局变量之前显示警报。一旦显示警报,变量就会被填充。我究竟做错了什么?

0 投票
1 回答
511 浏览

c# - jquery 1.5 Ajax 请求,通过延迟对象,到 PageMethod 没有按预期执行

我有一些代码,我希望为数据表中的每一行调用一个页面方法。每行包含用户信息,页面方法在特定时间段内查找有关该用户的其他数据。如果存在此类数据,则想法是将数据作为新行附加到当前行。如果不存在此类数据,请转到下一行。

我开始我的代码:

首先,我通过页面方法检索开始日期和结束日期。这工作正常。然后我尝试为表中的每个数据行调用一个方法:

这工作没问题。我将当前数据行传递给一个新函数,即:

When I step through the code, the function is called for each row, currDataRow and currUserID is populated as expected, and the ajax call is performed and here is where the problem lies. The call is made but neither success nor error functions are called until the calls are completed for all rows. Then the success method is called for each row but the required data has been lost.

How can I restructure my code so that the success function is called for each ajax request?

Thanks in advance for any insight.

0 投票
2 回答
3642 浏览

javascript - jQuery Deferred 没有按顺序调用 resolve/done 回调

代码示例:http: //jsfiddle.net/MhEPw/1/

我有两个 jQuery Deferred 对象。

我希望发生多个“异步”请求 - 在它们全部运行之后,我希望回调(.done 函数)按指定的顺序运行。不幸的是,它们没有按顺序运行。

也许我在这里寻找 Deferred 不提供的一些功能?

0 投票
2 回答
665 浏览

jquery - jQuery延迟

我在学习使用新的 jQuery Deferred 时遇到了麻烦。

做了一个ajax调用,我想返回ajax调用的数据。

我知道当我尝试在 done() 或 fail() 函数中返回某些内容时,问题就出现了,而 checkIdExists() 函数没有返回它。我该如何解决这个问题?

0 投票
3 回答
1582 浏览

jquery - 你能在 jquery 1.5 中停止延迟回调吗?

我想知道你有这样的东西

所以我在想这个。我有一个通用函数,我想在我的所有回复中使用它,这些回复将传递给我的成功。

这个函数基本上会检查服务器验证是否发现任何错误。如果是这样,它们会对其进行格式化并显示一条消息。

现在我想知道我是否可以使用第二个成功功能来做特定的事情。就像说一个ajax请求需要在表中添加一行。所以这应该是可能的。我只是做了上面的事情,在第二次成功中我只是添加了行。

如果第一次成功运行并看到来自服务器的验证错误,我可以阻止第二次成功发生吗?

有点

编辑

我发现有一些东西叫deferred.reject并且这确实停止了它,但我想知道如何指定只停止成功的那个。因为我的想法是,如果还有其他延期的,比如完整的,它也会被拒绝吗?