2

self.finish() 将torandoWeb 服务器置于什么状态?我假设它关闭了当前连接。目前我正在使用self.set_status(204)返回 HTTP 响应代码但我没有调用self.finish(),我应该在每个请求处理程序的末尾调用它吗?

4

1 回答 1

6

self.finish()不设置任何状态。该函数完成生成响应包并将包放入write_buffer(其中包块将由tornado发送给客户端)

您无需在每个请求处理程序结束时调用 self.finish。一些返回方法,如 self.redirect() 或 self.render() 自己完成工作。但是当你使用装饰器@web.asynchronous延迟响应时,你必须在最后调用 self.finish() 。这是@web.asynchronous http://www.tornadoweb.org/en/stable/web.html?highlight=asynchronous#tornado.web.asynchronous的演示

于 2013-03-31T17:12:50.467 回答