我在deferred.addTimeout中有一些问题。我想以与将参数传递给deferred.addCallback相同的方式将一些参数传递给此函数,但是我不能。 可能有助于Twisted库中的更改吗? 请帮帮我, 卢克
答案 0 :(得分:0)
使用内置的partials将参数传递给函数。我假设您要在onTimeoutCancel
中传递参数Deferred.addTimeout
的功能?
from functools import partial
from twisted.internet import defer, task
def callback_timeout(failure, timeout, **kw):
print('params: {0}'.format(kw))
@defer.inlineCallbacks
def main(reactor):
d = defer.Deferred()
# use partials to set params in a function
fn_timeout = partial(callback_timeout, a=1, b='B', c=12)
# pass new partial function into addTimeout
p = d.addTimeout(5, reactor, fn_timeout)
yield d
task.react(main)