问题标签 [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 回答
206 浏览

tkinter - 如何在扭曲的供电服务器中弹出 tkMessageBox

我有一个基于twisted reactor的服务器,我需要如下场景:服务器可以接收两种类型的请求

  • ADD(x,y) 并返回一个总和
  • HUMAN_PERMISSION 仅当人类用户批准客户端的 ip 时才返回 true

我正在使用 tkMessageBox 询问人类用户,但问题是它阻塞了整个反应器并且服务器对其他请求没有响应

我知道我必须以某种方式在这里使用twisted's deferred,只是不知道这是怎么回事:似乎不起作用,它仍然阻塞了整个反应堆

0 投票
2 回答
3219 浏览

python - Web 服务中的扭曲延迟与阻塞

我正在努力在使用 Deferred 对象的 Web 服务代码中产生与不使用 Deferred 对象的代码相同的行为。我的目标是编写一个装饰器,它将任何方法(与 Twisted 解耦)的处理委托给 Twisted 线程池,这样反应器就不会被阻塞,而不会更改该方法的任何语义。

当下面的类 echo 的实例作为 Web 服务公开时,此代码:

当所有 raise 语句都被注释掉时,将向浏览器显示一个 HTML 文档,并在包含标记为“E5”的 raise 语句时显示一个格式良好的堆栈跟踪(Twisted 为我做的)。这就是我想要的。同样,如果我根本不使用 Deferred 对象并将来自 callback1 和 callback2 的所有行为放在 render_GET() 中,render_GET 中任何地方引发的异常都会产生所需的堆栈跟踪。

我正在尝试编写将立即响应浏览器的代码,不会导致 Twisted 内的资源泄漏,并且在包含任何 raise 语句“E1”到“E3”的情况下也会显示浏览器堆栈跟踪。延迟代码——当然我知道堆栈跟踪本身会有所不同。(我不太关心“E4”案例。)在阅读了本网站上的 Twisted 文档和其他问题后,我不确定如何实现这一点。我原以为添加 errback 应该会促进这一点,但显然不是。一定有一些关于 Deferred 对象和 twisted.web 堆栈的东西我不理解。

我在此处记录的日志记录效果可能会受到我使用 PythonLoggingObserver 将 Twisted 日志记录连接到标准日志记录模块的影响。

当包含“E1”时,浏览器会一直等待,直到反应器关闭,此时会记录带有堆栈跟踪的 ValueError 异常,并且浏览器会收到一个空文档。

当包含“E2”时,会立即记录带有堆栈跟踪的 ValueError 异常,但浏览器会等待直到反应器关闭,此时它会收到一个空文档。

当包含“E3”时,立即记录带有堆栈跟踪的 ValueError 异常,浏览器等待直到反应器关闭,然后接收预期的文档。

当包含 raise 语句“E4”时,预期的文档会立即返回给浏览器,并立即记录带有堆栈跟踪的 ValueError 异常。(在这种情况下是否存在资源泄漏的可能性?)

0 投票
1 回答
7498 浏览

gwt - GWT2.2 java.lang.RuntimeException:类的延迟绑定失败(您是否忘记继承所需的模块?)

我正在使用 gwt 2.2,遇到以下异常:18:43:48.896 [ERROR] [dms] Failed to create an instance of 'package.DMS' via deferred binding

有没有人可以帮助我?

0 投票
2 回答
8820 浏览

c# - CollectionView.DeferRefresh() 抛出异常

在某些情况下,由于大量 INotifyChangedProperties 事件,您有许多 UI 更新。在这种情况下,您可能只想在所有属性都像批处理一样设置时向 UI 发出一次更改信号。

我发现这篇很棒的文章解释了如何推迟 ViewCollection 的刷新:

http://marlongrech.wordpress.com/2008/11/22/icollectionview-explained/

但是,当视图被延迟并且我尝试向集合中添加一些东西时,我得到了一个异常。我不明白为什么不允许这样做。这就是它的全部意义。

InvalidoperationException: 在延迟刷新时无法更改或检查 CollectionView 的内容或当前位置。

有谁知道如何解决这个问题?非常感谢,

0 投票
1 回答
437 浏览

python - 使用 deferred.defer 任务发布到数据存储时出现问题

我正在尝试在 Python 中的 Google App Engine 上执行此操作:

当我通过 cron 作业运行上述代码时,它不起作用。该文件执行没有错误,任务(列表“人员”中有 200 个字符串)被正确添加到队列中并正确地通过。但是数据库 PersonDb 没有得到更新。我知道该功能有效(以上已简化),因为它有效:

以上 2 行代码有效,并且数据库得到更新,但我需要将其作为延迟任务运行。有什么建议么?

更新:我在日志中得到这个:文件“C:\Program Files\Google\google_appengine\google\appengine\ext\deferred\deferred.py”,第 129 行,在运行 raise PermanentTaskFailure(e) PermanentTaskFailure: 'module'对象没有属性“add_to_db”

0 投票
5 回答
11938 浏览

java - GWT problem, GWT.create(SomeClass.class) throw exception

i have a gwt project and using method GWT.create(SomeClass.class) throw exception. The exception is :

and a few explanation

Webcharge is my entry point for the project, as you can see in the stacktrace the exception is thrown (WebchargeService.java:21) where at that line i have private static WebchargeServiceAsync ourInstance = GWT.create(WebchargeService.class);

WebchargeService

and the code for WebchargeServiceAsync

Any help is welcome :)

Thanks.

0 投票
1 回答
944 浏览

gwt - 具有查找支持的 GWT 消息接口

我正在开发一个新应用程序,我需要创建一个带有查找的消息接口,使用键来查找值(如 ConstantsWithLookup,但能够接收参数)。我一直在研究 Dictionary 类的功能,但它缺少通过参数自定义消息。

使用 ConstantsWithLookup 我可以进行以下操作:

并得到类似的东西:

但我需要这样做:

并得到类似的东西:

我不知道该怎么做。

0 投票
1 回答
3334 浏览

tree - 由 JsonRestStore 和 jsonp 提供支持的延迟加载 dojo 树

我正在尝试使用 Dojo 工具包实现跨域延迟加载树。到目前为止,我的顶级节点显示正确,但是在单击 expando 时,我收到“延迟已解决”错误,我不知道为什么。通过查看 firebug 网络选项卡,我可以看到 fetch 方法似乎正在工作。我认为我的问题出在我的 _processResults 方法中,可能与其中的 _loadObject 定义有关...

鉴于我一直在努力理解 Dojo,我觉得我应该更好地了解它。但是,唉,它真是一头野兽……我在其中一个 sitepen 博客(http://www.sitepen.com/blog/2008/06/25/web-service )中看到了一些关于 JSONP 和延迟加载的提及-data-store/),但它没有提到为什么除了 JSONP 是 asyncronus 之外它不应该是可能的。如果 Dojo 只是将传入的 json 数据填充到存储中,我不明白为什么这很重要。

也许这与我的数据格式有关 - sitepen 上的另一个示例(http://www.sitepen.com/blog/2010/01/27/efficient-lazy-loading-of-a-tree/)使用jsonreststore 在展开节点之前不会加载项目,而我的格式会加载项目但在展开节点之前不会加载子节点...

事不宜迟,这里是ta codez...

这是 json 数据结构的一个示例:不幸的是,该服务目前位于网络防火墙后面......我将努力建立一个公共版本来演示一下。同时,这是在根节点节点 1 上搜索的响应:

然后扩展上述任何节点将获得该节点的子节点 - 因此 2 将获得节点数组 5,6,7,8 。(对于当前的实现,可能没有必要拥有 Child_Node_Ids 和 Children_Nodes,但不应该破坏任何东西吗?)

所以我敢肯定,到现在为止,眼睛都在发呆,重申这个问题 - 是什么造成了这个“延期已经解决”的错误?使用 JSONP 可以延迟加载树吗?不同的 json 结构会解决我的延迟加载问题吗?是否可以在 dojo 中重新格式化我的数据以使其正常工作?(我认为这就是 _processResults 方法的重点……)是否有任何可公开访问的树数据服务可供练习?

谢谢大家!

0 投票
1 回答
1955 浏览

gwt - 如何扩展非客户端 GWT 类

对于我的项目,我尝试扩展不随客户端模块继承的 GWT 类。例如,我想创建一个简单的 com.google.gwt.resources.ext.ResourceGenerator 实现。

并使用而不是 ClientBundle 的默认 @ResourceGeneratorType - BundleResourceGenerator

但不成功。

如果我将 SimpleResourceGenerator 类放在“client”包下,GWT 编译器会说:

如果我将所有 gwt-user 和 gwt-dev 源链接到项目,我还有其他未解决的依赖项。

我无法理解 GWT 编译器以及它在编译时如何解析类型。为什么它找到一些 GWT 类而找不到其他类。

我看到的唯一方法是编译 SimpleResourceGenerator 的模块重写

从继承的 com.google.gwt.resources.Resources.gwt.xml 和自己的生成器

并扩展 com.google.gwt.resources.rebind.context.AbstractClientBundleGenerator。

但这对我来说似乎有点太复杂了。有没有比通过生成器和代码替换延迟绑定更简单的方法来扩展 GWT 类?

0 投票
1 回答
1866 浏览

javascript - 无论如何要传递 jquery deferred $.when 一个数组?

可能重复:
将延迟数组传递给 $.when()

无论如何要传递 jquery deferred $.when ajax 函数数组吗?例子:

谢谢你的帮助!