tornado finish和write区别
# 简介
finish和write都可以将后端的数据传输到前端。他们有啥差别嘞。
该项目的github地址: tornado_learning.git (opens new window)
# 例子
代码apps/hello/write_finish_handler.py
from tornado_learning.handler import BaseHandler
import time
class Write_Finish_Handler(BaseHandler):
def get(self):
self.write("hello")
time.sleep(4)
self.finish("world")
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
在等待4秒后,同时输出: hello world
class Finish_Write_Handler(BaseHandler):
def get(self):
self.finish("hello")
self.write("world")
1
2
3
4
5
2
3
4
5
输出: hello
并且报错: Cannot write() after finish()
# 总结
self.finish()
代表回应到前端的终结。并且可以在finsh
后做一些与回应给前端无关的操作,缩短响应时间。
self.write()
并不会马上将数据返回前端,必须在self.finsh()
或者return
后才会响应,类似以缓存吧。
上次更新: 2023/05/01, 18:02:43