如何从Twisted中的deferred向addTimeout函数添加参数

2024-04-16 23:39:26 发布

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

我有点问题延迟的.addTimeout. 我想将一些参数传递给此函数,方法与将参数传递给延迟的.addCallback,但我不能。 可能会有助于Twisted library的改变? 请帮帮我, 卢克


Tags: 方法函数librarytwisted帮帮我addcallbackaddtimeout
1条回答
网友
1楼 · 发布于 2024-04-16 23:39:26

使用内置partials将参数传递到函数中。我假设您要在^{}中传入params^{}函数?在

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)

相关问题 更多 >