jquery-deferred相关内容
关于如何使用Jquery.deferred来生成慢速同步函数的快速问题会返回一个promise。 到目前为止我做的是: function sayIt(ms){ setTimeout( function(){console.log('我说的');},ms); } 函数doIt(){ 返回$ .Deferred(function(){sayIt(2000);})。promise()
..
做一些测试,我需要等待几个承诺被拒绝。 我知道我可以使用jQuery.when()来等待几个承诺得到解决。但是,如果其中一个承诺失败,那个方法就会拒绝主承诺。 我知道我所有的承诺都会失败,但无论如何我都需要等待它。我该怎么办? 在一种伪代码中我想做的是: var promise1 = connection.doCall(); var promise2 = connec
..
jQuery.when()的文档表示此函数采用Deferreds。但是,它稍后也会说: 如果将单个参数传递给jQuery.when()并且它不是Deferred或者承诺... 这似乎暗示它也可以接受Promises。但Promise不是Deferreds - 它们有Deferred方法的子集。我想你可以说Deferred是一个Promise,但是Promise不是延期。 问题:
..
使用JQuery.Deferred时可以直接调用reject()吗?没有调用异步函数? 也许我想在异步函数的开头进行某种测试。如果测试失败,我想立即拒绝。请参阅下面的第一个if块。 function doSomethingAsync(){ //测试是否ajax调用应调用 var testFailed = true; var dfd = $ .Deferred();
..
我想从外部服务加载一些JSON数据。但是,它提供了 {foo:...,bar:...,有用:{...}} 我真正关心的是“有用”部分。我需要将该部分传递给 success 回调。 我正在尝试使用 Deferred 一次从多个数据源加载 - 类似于
..
我正在尝试在其状态设置为成功之前向现有Deferred的合同添加另一个异步调用。而不是尝试用英语解释这个,请参阅以下伪代码: $。when( $。 ajax({ url:someUrl, data:data, async:true, success:function(data,textStatus,jqXhr){ console.log( '调用1完成。') jqXhr.pi
..
我有一个功能,可以对谷歌电子表格API进行两次休息调用。我使用$ .when来确保第一次调用的数据在处理第二次调用的数据之前处理。 问题是第一个ajax处理程序(getRealNames),接收一个javascript对象作为其参数,但第二个处理程序(displayTeams)接收一个数组,第0个元素是我期望得到的对象。 为什么一个人获得一个对象而另一个获得一个数组?他们正在呼唤同样的
..
http://jsfiddle.net/f4hmL/235/ function showData(){ alert(“boop!”); } 函数method1(){ var dfd = $ .Deferred(); setTimeout(dfd.resolve(),10000); return dfd.promise(); } 函数method2(){ var
..
有很多问题已经对此有了答案,但到目前为止所有这些都没有用到这种设置。 function login(u,p){ console.log(1); 返回$ .post(url,{u,p}); } function out(){ console.log(3); //一个不返回延迟的函数 //清除cookie } 函数doSomething(){ console.l
..
我找不到延迟或等待函数 jQuery 承诺。我在SO上找到了一个函数(使用jQuery.Deferred以避免嵌套的setTimeout回调): 函数延迟(时间){ return function(){ console.log(“Delaying”); var ret = new $ .Deferred(); setTimeout(function(){ ret.resolve
..
我有一个ajax帖子: $ .post(“/ api / v1 / payment_methods / create_credit_card”,价值) .done(回复) - > console.log(“GOOD JOB”) .fail(response) - > console.log(“Adas”) 响应是201,但是,完成了似乎没有抓住它,相反它会失败。
..
好的,我知道这个话题已经多次讨论了,但我找不到解决问题的答案。 所以我是试着做一个简单的想法: 我正在创建一个字符串,如:距离为:“+ CalculateDistance(position); 想要的结果类似于距离是5kms(8分钟)。 CalculateDistance(position)是一个调用Google Maps API的函数,名为DistanceMatrix,用于计算两
..
对我来说,两者都做同样的事情。 文件: deferred.always() deferred.then() 解决方案 看起来 deferred.then()允许您为成功和失败传递两个单独的回调,而 deferred.always()需要 n 无论初始事件的结果如何,都将调用所有回调。 我想说使用 deferred.always()在初始事件的成功/失败不重要的情况下
..
我的情况是我的ajax调用必须按特定顺序执行。我在其他情况下使用过jQuery Deferred对象,但似乎无法找到使这种行为正常的方法。 我有一个执行多个 ajax 请求在其生命周期内。一些请求将在成功回调其他请求期间执行。 我的问题:有没有办法将所有嵌套的延迟对象返回到原始 $。什么时候打电话? 一个简单的例子是: function nestedAjax(){ $
..
我需要在用户控制页面之前加载多个元素(主要是图像,视频和音频)。目前,我正在使用$ .when()函数加载它们,如下所示: //所有元素都被隐藏,除了黑色背景和 //中间的“加载”gif。 $ .when($。ajax(“video1.ogv”),$ .ajax(“video2.ogv”),$ .ajax(“videoN.ogv”)) 。然后(function(){ //显示预
..
说明我想做什么的一个例子。这就是我通常会做的事情: 功能成功(数据,状态,jqxhr){ if(data。错误) 返回失败(jqxhr,status,data.error); //处理数据 } 函数失败(jqxhr,status,err){ ... } $ .ajax (...) .done(成功) .fail(失败) 有什么办法,我可以用匿名函数完成
..
我有一个类似这样的函数: function do_something(){ // some code 返回$ .when(foo,bar,baz).then(do_something_else); } 函数do_something_else(_foo,_bar,_baz){ //做其他事情 返回/ *原始输入* /; } 所以,当有人使用 do_s
..
如果我有一个函数,有时会返回一个延迟对象,但有时会返回一个非延迟对象。我怎么知道它是哪一个? 解决方案 根据你的使用情况,你也可以使用 jQuery.when [1]: 如果将单个参数传递给 jQuery 。当并且它不是Deferred时,它将被视为已解决的Deferred,并且任何附加的doneCallbacks将立即执行。 使用 jQuery.when ,您可以将您的神秘对
..
我正在努力创造我认为被称为“瀑布”的东西。我想顺序处理一系列异步函数(jQuery promises)。 这是一个人为的例子: function doTask(taskNum){ var dfd = $ .Deferred(), time = Math.floor(Math.random()* 3000); setTimeout(function(){ console
..
我正在尝试通过向服务器发送GET请求来检查互联网连接。我是jquery和javascript的初学者。我没有使用 navigator.onLine 代码,因为它在不同的浏览器中的工作方式不同。这是我到目前为止的代码: var check_connectivity = { is_internet_connected:function(){ var dfd = new $ .Deferre
..