python - 如何将参数从 Twisted 中的 deferred 添加到 addTimeout 函数
问题描述
我在 deferred.addTimeout 中有一些问题。我想以与将参数传递给 deferred.addCallback 相同的方式将一些参数传递给该函数,但我不能。可以帮助 Twisted 库发生变化吗?请帮帮我,卢克
解决方案
使用内置部分将参数传递给函数。我假设您希望将 paramsonTimeoutCancel
函数传递给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)
推荐阅读
- regression - pytorch LSTM 回归;损失函数在每个时期都达到峰值
- python - 从用户输入中打印最长的字符串
- javascript - 谷歌地图自定义信息窗口 - 打开一个然后关闭另一个打开等
- reactjs - 在 ReactJs 中将属性 'selected' 添加到 Checkbox
- shell - 如何将管道参数传递给shell脚本
- php - Joomla 安装期间无法连接到 mySQL 数据库
- c# - 如何通过 C# 在 IIS 中设置虚拟目录的通用标头?
- java - CommandLineRunner 未登录到文件
- javascript - 为什么 5<4<2 返回真?
- angular - Angular 2+ 社交分享链接预览