扭曲传递结果到多个回调

2024-06-26 01:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个回调函数B,C,我希望它们处理函数A返回的延迟结果(A->;B->;C)。通常情况下,我会把它们合并成一个,但出于某种原因,我不能这样做

据我所知,twisted回调管道处理上一次回调的返回。 解决方案显然是将B、C作为回调添加到A,并将A的原始返回传递给B,并通过返回传递给C。有没有更好的方法来实现这一点,比如反向延迟列表


Tags: 方法函数gt列表管道twisted情况解决方案
1条回答
网友
1楼 · 发布于 2024-06-26 01:32:34

或者你可以用inlineCallbacks

`
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)
`

相关问题 更多 >