Tornado处理器中的多个self.write()命令

2 投票
1 回答
808 浏览
提问于 2025-05-01 03:09
Result:
Step 1 processed.

Result:
Step 1 processed.
Step 2 processed.

Result:
Step 1 processed.
Step 2 processed.
Success.

我看到有人提到过用多个 self.write() 命令来部分渲染内容,比如先写入头部的内容(header.html),然后是页面的主体内容,最后是底部的内容(footer.html)。这样做是可以的,但直到最后一个命令处理完,浏览器才会显示网页。

我想实现一个状态更新的输出。这样我就不需要在每一步后都重新加载页面,而是可以在同一页面上看到更新,这样其实不错,但我还是得等到所有步骤完成才能看到任何内容。

有没有办法在每一步之后更新浏览器的输出,而不需要为每一步都实现单独的处理程序呢?

暂无标签

1 个回答

2

为了在你完成之前就把数据发送给客户端,你需要在每次调用 self.write() 之后,调用一下 self.flush()

撰写回答