我正在编写扭曲的代码..第一个与延迟的第二个使用inlineCallbacks。第一个工作,但第二个没有...任何想法或指针
class Echo(LineReceiver):
def lineReceived_callbacks(self, line):
print self.sendLine("i received :%s"%line)
def pp(res):
print "from callback",res
self.sendLine(str(res))
d = self.factory.dbs.getResult(line)
d.addCallback(pp)
@defer.inlineCallbacks
def lineReceived(self, line):
res = yield self.factory.dbs.getResult(line)
print res
self.sendLine(str(res))
self.factory.dbs.getResult(line)
会返回延迟。
答案 0 :(得分:-1)
得到解决方案..
似乎是扭曲的问题。 http://twistedmatrix.com/pipermail/twisted-python/2006-October/014277.html
如果lineReceived返回延迟连接drop in defer示例deferred已创建但未返回,并且在第二个因为使用inlineCallbacks,它返回deferred always因此连接drop .. lineReceived是基本的东西,应该可以使用inlineCallbacks ..