【发布时间】:2011-08-15 04:47:38
【问题描述】:
是否可以在同一个程序中多次启动反应器?假设您想出于 API 目的将扭曲的功能封装在方法中。
例如,mymodule.py 如下所示:
1 from twisted.web.client import getPage
2 from twisted.internet import reactor
3
4 def _result(r):
5 print r
6 reactor.stop()
7
8 def _error(e):
9 print e
10 reactor.stop()
11
12 def getGoogle():
13 d = getPage('http://www.google.com')
14 d.addCallbacks(_result, _error)
15 reactor.run()
16
17 def getYahoo():
18 d = getPage('http://www.yahoo.com')
19 d.addCallbacks(_result, _error)
20 reactor.run()
21
main.py 看起来像这样:
1 import mymodule
2
3 getGoogle()
4 getYahoo()
【问题讨论】:
-
即使它有效,我也建议不要这样做。很乱。您应该首先附加所有处理程序和任务,然后运行反应器。
-
据我了解,我认为该任务的要求与扭曲的纹理背道而驰。基本上任务是创建一个 API,这样用户就不需要对扭曲一无所知。注意,main.py,它是同步的。或者, mymodule.py 不是。感谢您的评论!