Re:[Twisted Python]重新工作同步迭代器以使用Twisteed

在星期二,2008年6月17日23:10:48 + 0200,琼斯< te * * * @jon.eswrote:我想实现可能会稍微简化,但它没有看起来太糟糕了像现在这样(我感觉略懒得回直觉与代码).我想指出,你失踪微小的细节.这里,返回的延迟将火一旦"cbA´.的返回值的cbA´总是NoneA´,所以cbA´将有一个结果在所有情况下同步.这是不正确的情况比较结果的到来.你的例子产生正确的输出,因为你所有的延迟已经创建的结果.如果你有一个"异步"延期,你会看到你的"完成"信息吗过程一直呼吁所有的结果.有两个可能的解决方案.简单的一个是返回"deferredA´从"cbA´.这个问题这是它建立一个链无限长度的最终可能遇到的限制实施延迟,Python堆栈深度限制RuntimeError失败.唯一稍微复杂一个是创建一个新的延期"processResultsA´并返回.然后,火里面的cbA´当deferredA´是没有.你还需要小心略errback连接链在这种情况下,如果有一些问题得到一个迭代器app-facing延迟变得errback.让·保罗·

标签: python

添加新评论