擅长:python、mysql、java
<p>除非调用了<code>self.finish()</code>,否则不会调用<code>on_finish</code>。我相信你已经知道了。
本例中的问题是on_finish()不支持<code>defer.inlineCallbacks</code>(您没有用它修饰您的<code>on_finish()</code>方法,但是这样做没有帮助)。在</p>
<p>我认为重写<code>on_finish()</code>以使用简单的旧延迟将使这项工作成功。试试这样的方法:</p>
<pre><code> def on_finish(self):
tt.multi().addCallback(
lambda t: t.set('key', 'value').addCallback(
t.commit()))
</code></pre>
<p>更好的方法是用<code>defer.inlineCallbacks()</code>修饰你的<code>get()</code>方法,并将{<cd4>}的主体移动到其中。在</p>