jquery-deferred相关内容
我对Promise/Deferreds有点陌生.对于成功案例和错误案例,是否有一种好的模式可以处理可能希望缩短承诺链的情况?在错误情况下,我知道您可以将.then(null, function(error) {})链接到末尾并从先前的then中捕获错误,但是如果您想以更自定义的方式处理错误并终止该怎么办?您是否会在早期的错误处理程序中指定错误的“类型",并通过新的承诺将其返回,以在最终的错误处理程
..
假设我有一个站点,该站点通过对服务的HTTP调用保存电话号码,并且该服务返回电话号码条目的新ID以绑定到页面上的电话号码. 在这种情况下,电话存储在称为“电话"的数组中,并且datacontext.telephones.updateData将电话发送到$ .Deferred([服务呼叫逻辑]).promise();内部的服务器中. uploadTelephones = function
..
比方说,我有一些JS可以像这样进行AJAX调用: $.getJSON(myUrl, { targetState: state }, function (jsonData) { }).success(function (jsonData) { ... ... ... }); 现在让我们假设我想将此代码包装在一个函数中,并使其在成功块中返回一些值,因此我可以在应用程序
..
参考 https://stackoverflow.com/a/13951699/929894 ,我尝试在嵌套的ajax循环.但是,输出未按预期返回.我已经在小提琴中更新了我的代码以供参考. - https://jsfiddle.net/fewtalks/nvbp26sx/1/. 代码: function main() { var def = $.Deferred();
..
是否可以将已解析的jQuery对象重置为“未解析"状态,并重新开始其初始化和回调? 我正在做的特定事情是我在本地文件系统api上有一个jQuery延迟包装器.从那里我为我关心的事情建立了更高级别的递延: var getFs = defFs.requestQuota(PERSISTENT, 1024*1024) .pipe (bytes) -> defFs.r
..
我有以下代码: 在site-code.js中 .... var ajaxContentFunc = $(origin).data("modal-content-handler"); $.when(window[ajaxContentFunc]()).done(function (resp) { kModal.showContent(resp); }); 在另一个文件
..
我对于这个控制台错误有点头疼,仅在Safari上才可以(实际上是在MacBook上工作). 我有这个功能: function exists(element){ var exists = document.querySelector(element); return exists; } 在另一个函数中调用: function includeHoverStyles
..
我正在尝试在数组中与$.when()一起使用一组延迟函数.这些函数从服务器获取数据并将其呈现在DOM中.完成所有这些操作后,将加载一些脚本并执行几个后加载操作. 这是我正在使用的: function loadAllGames(updateGames, updatePlayoffs) { var deferredLoads = []; if (updateGames !=
..
我正在将延迟的getJSON调用添加到for循环内的数组中,该循环引用其成功函数内的局部变量.我遇到的问题是,当调用成功函数时,局部变量将从循环的上一次迭代中获取值.参见以下示例: var calls = []; var arr = ['a','b','c']; for (var a in arr) { calls.push( $.getJSON(window.loc
..
在我要工作的网站上,我们有一个搜索栏,用户可以在其中键入以搜索存储在一组元素上的数据中的各个字段.当浏览器开始输入速度较慢时,就会出现问题. 我想使用jQuery Deferred对象执行以下操作:在输入框中添加一个向上键处理程序.触发加锁键时,请解决任何以前触发的仍处于“待处理"状态的加锁键.然后继续使用当前的keyup事件.在keyup事件本身内部,它根据输入值进行所有匹配,它始终检查当
..
我有一个带有内部循环的模块(使用'settimeout').我想在每次计时器发生时触发回调.我没有运气就尝试使用jQuery的延迟对象.. $(function(){ var module = new MyModule(); $.when(module.init()).then("DO Something"); }); function MyModule(){
..
这就是我要实现的目标, 我有一个排序数组,每个数组都传递给jQuery.在每个内部都有一个ajax调用,它将获取我想要的数据,并且每次推入另一个数组时(将其称为allJsonData).最后,我显示allJsonData. 问题是每当我显示allJsonData时,元素始终显示不一致(不是按字母顺序/随机顺序显示).我期望allJsonData按字母顺序显示(即AList数据第一,BList
..
我正在请求一个php文件.响应以.done(function(msg){})处理;和.fail可以正常工作.但是有时请求会出错.我为此进行了重试.重试也可以.但是,如果第一次失败,并且在2或3次尝试中成功,请尝试执行我的request.done不会触发(在firebug中,我可以看到成功) 我的请求: var request = $.ajax({
..
使用Promise构造函数提供代码 let promise = () => new Promise(resolve => resolve(1)); new Promise((resolve, reject) => { setTimeout(() => reject("10 seconds exceeded"), 10000); resolve(promise()) })
..
这可能是一个简单的问题,但我完全迷失了. 我有这个功能. m.util.genericSwipeVertFunc = function ( ajaxRequest, swipeOutTarget, swipeInTarget ) { var stage1, stage2, failStage, dfd = $.Deferred()
..
这是代码: http://jsbin.com/lizami/edit?js,console 也将代码粘贴到这里: var aaa = $.Deferred(); var bbb = function(data){ console.log(data); var dfd = $.Deferred(); setTimeout(function(){
..
如何将一个JQuery.Deferred()对象上的所有事件传播到另一个对象? 是否有比调用其他对象.rejectWith和.resolveWith处理.fail和 .then .done更好/更简单/更短的方法? 我假设我不必处理 .done .then,因为在我调用拒绝或解决时会调用它. 我怀疑也许可以使用.pipe来完成,但是我不确定如何. 更新: 注意:我还根据@F
..
我正在使用jQuery,并且知道此问题是因为jQuery.Deferred实现与Promises/A +不兼容.我不想使用任何其他库来解决这个问题. 通过这种方式,是否有一种方法可以从$.Deferred().fail()回调中恢复,使我返回到成功链?这可以通过then()的多回调形式实现,但是到目前为止,我还没有找到使用.fail() 的解决方案 然后: asyncThatWil
..
我想将我的模块/SDK中的promise返回到非角度javascript.例如,如果我向一个jQuery返回promise,则可能应该发送jquery延迟对象.如何将Angular promise转换为jquery promise/deferred obj. 任何建议都将不胜感激. 解决方案 免责声明:jQuery承诺不能与其他库配合使用-在 all 处. jQuery不会自行吸收其
..
我正在努力使用deferred将回调与管道链接起来.它似乎工作正常,但在callback2中,它从callback1带给我数据.代码如下: var getCall1 = function() { return $.ajax(url, { type: "GET", data: { }, contentType: "application/
..