Twisted-将结果传递给多个回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Twisted-将结果传递给多个回调相关的知识,希望对你有一定的参考价值。

我有两个回调函数B,C,我希望它们处理函数A的结果返回Deferred(A-> B-> C)。通常,我会将他们合并为一个,但是由于某种原因,我无法做到这一点。

据我所知,扭曲的回调管道过程返回了先前的回调。解决方案显然是将B,C添加为A的回调,并将A的原始返回传递给B并返回到C。还有更好的方法吗,例如reverse DeferredList

答案
` from twisted.internet.defer import inlineCallbacks @inlineCallbacks def doThing(): result = yield A() B(result) C(result) # or if it is a function returning a deferred yield B(result) yield C(result) `

以上是关于Twisted-将结果传递给多个回调的主要内容,如果未能解决你的问题,请参考以下文章

通过DOM元素数据集将回调传递给js

加载器将结果传递给错误的片段

如何将内部回调的结果传递给其父函数? [复制]

如何从活动中传递回调到片段

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

活动结果片段索引超出范围:0x20001