[Twisted-Python] Resource.render() returning NOT_DONE_YET
Matthias Urlichs
smurf at noris.de
Fri May 9 09:02:30 MDT 2003
Hi,
Clark C. Evans schrub am Mon, 28 Apr 2003 16:09:35 +0000:
> 2. Alternatively, allow a Deferred to be a return
> value. Then the underlying caller can add result.finish() to the
> deferred chain. This has the advantage of not requiring finish()
> to really be managed.
I think that wouldn't work. Consider:
def render(self,req):
d = somewhere.GetDeferredData()
d.addCallback(self.render_more,req)
return d
def render_more(self,data,req):
d = somewhere.GetMoreDeferredData(data)
d.addCallback(self.render_even_more,req)
return d
def render_even_more(self,data,req):
req.write("Done!")
This ends up calling req.finish() befor req.write().
--
Matthias
More information about the Twisted-Python
mailing list