问题标签 [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.
javascript - 关于 Node 的代码风格
编辑
感谢所有答案,
最后我决定使用Step之类的工具,
我所需要的只是“流量控制”,并且不想要任何可能会降低性能的东西(我不知道它会影响多少,或者效果可以忽略不计)。
所以我只是创建了一个用于流量控制的小工具:
line.js
用法:
希望这可以帮助。
编辑结束
众所周知,
Node 的内置或第三方模块通常会提供异步 API,
并使用“回调”函数来处理结果。
这很酷,但有时会像这样编写代码:
像这样的代码很难阅读。
我知道“延迟”库可以解决这样的问题,
Node 有什么好的“延迟”模块吗?
如果我使用“延迟”对 Node 进行编码,性能如何?
jquery - jQuery 按顺序延迟对象和运行函数
我有这段代码将使用 $.ajax 加载 css/js/jst(javascript 模板),我想让它在请求后运行一个请求,一次只运行一个,并异步执行。
现在,该代码将在启动时运行所有请求。它将等待 deferred.resolve() 被调用,但不会等待 iterateWhen() 循环开始迭代 deferreds[]。
根据 jQuery 文档,$.Deferred() 将接受一个函数作为可选参数,并在从构造函数返回之前运行该函数,所以这就是问题所在,但我不知道有一个解决方案可以满足我的需求。
问候!
jquery - 调用 jQuery $.Deferred .state() 方法正在启动返回 done() 方法
我正在对一个应用程序进行一些测试,我意识到在 Deferred 对象上调用 .state() 似乎会一次又一次地启动 .done() 回调。
我在这里制作了一个简化的测试用例
http://jsfiddle.net/vaxilart/ajeGm/
我想知道这是正常行为还是我误解了什么。
先感谢您 !
jquery - jQuery 中的 $.when.apply(null, a method) 是什么意思?
我正在阅读 jQuery 中的延迟对象。谁能告诉我以下两种调用方式有什么区别?
$.when.apply(null, a method).done(function(){success callback})
$.when.(a method).done(function(){success callback})
哪种情况适合上述第一种方式?
提前致谢。
ajax - 为什么我不能设置像 dojo.store.JsonRest 这样的 Dojo Deferred 属性?
为什么我不能将 Deferred 对象的(自定义用户定义的)属性设置为同一个 Deferred 对象返回的承诺?我认为这是可能的,因为dojo.store.JsonRest
它:
我必须做一些非常相似的事情,但是我链接了一个额外的延迟对象,因为我需要将我的 JSON 输入转换为 QueryResults() 期望的格式。如果我将该承诺分配给我的 Deferred 对象的属性,它会导致undefined
. 但是,如果我将承诺分配给常规变量,则分配有效。不幸的是,QueryResults 需要分配属性。
我想我已经将问题归结为xhr()
and返回的承诺之间的差异xhr().then()
。请检查此 jsFiddle的控制台输出。
有什么区别,我该如何解决?
postgresql - PostgreSQL DEFERRED CONSTRAINTS 和开始结束块
我有一个带有唯一约束的表,标记为DEFERRABLE INITIALLY DEFERRED;
然后我执行下一个查询:
一切都很顺利。但是如果我尝试执行
我得到一个错误。为什么 Postgres 在退出BEGIN END
块时强制进行约束检查?不应该在事务结束时检查约束吗?我怎样才能改变这种行为?
gwt - 具有延迟绑定的 GWT 反射 GAE 在 Firefox 中工作,而不是 chrome、IE
我有延迟绑定的问题。
我在这个博客中创建了它:http: //programmatica.blogspot.com/2007/10/classfornamefullyqualifiedclassnamenewi.html
我的代码在“GWT.create”处崩溃。但只有当我在 Google App Engine 上运行它时,并且只在 IE 和 Chrome 中运行。代码在每个浏览器中都可以在本地正常工作,在 Firefox 的 GAE 上可以在线工作。
我没有任何错误消息,但如果我为 IE 和 Firefox 分析 cache.html,它们是不同的。
它在 IE 中抛出 ClassCast 异常,但在 Firefox 中没有
jquery - Jquery:具有延迟的控制功能流
抱歉,但我似乎在兜圈子。
这个过程相当简单
SaveButtonClicked
调用函数执行离线数据库事务以更新记录
检查是否在线(/*使用 Ed Norton 示例进行此操作 */)
如果在线调用选择事务以获取所有更新的记录
选择加载结果成功到数组中
使用数组调用 web 服务
到目前为止,我尝试使用 $.Deferred, dothis = defer.pipe(...), .queue [但这些似乎基于元素而不是函数完成] 来控制流程,将函数放入数组中,
在测试中,控制台总是在“构建数组”之前写入“构建数组”
那么最好的方法是什么?$.Deffered、队列、回调……黑魔法?
javascript - Deferred.pipe() 可以防止调用后续的 .done 和 .fail 吗?
我有两个处理程序:onSuccess 和 onFailure,但有时(当服务器决定这样做时)我希望阻止它们中的任何一个运行。我知道我可以从 and 中返回一些“忽略”来在and处理程序.pipe()
中对其进行测试,但是有没有更优雅的方法,比如在?.done()
.fail()
this
.pipe()
jquery - JQuery - 延迟对象数组的 $.when 语法
这是我第一次使用$.when
,我在语法上有困难。
我有类似于下面简化示例的代码。它有效(如果我在简化它时没有引起错误)。我的问题是我不知道customerIds
数组将包含多少元素。
我想$.when
按如下方式编写语句,但难以正确使用语法。
其中getCustomerDataCalls
实施为:
不幸的是,我的实现出了点问题,我无法弄清楚我哪里出错了。我最好的猜测是返回一个Deferred
s数组时出了点问题
更新:
在 lanzz 提到我的人为示例已经返回一个 Deferred 之后,我更新了代码,我更新了我的示例以包含doSomeWork