tornado finish() called twice

2018-11-13  本文已影响0人  邪恶的奥伯伦
raise RuntimeError("finish() called twice.  May be caused "
RuntimeError: finish() called twice.  May be caused by using async operations without the @asynchronous decorator.

这是一个tornado非常基础的问题, finish()之后 server端会主动关闭与client的链接, 但是默认情况下还会继续执行后面的代码,

比如我们可以放一些异步操作在这里, 虽然我不会这么做...

所以呢, 如果一个程序在if里 调用了finish() 程序仍然会继续执行到后面, 再次执行一次finish() 就会报这个错,

正确的作法是在前面的finish()后面加一个return 这样后面的代码就不会继续被执行了

上一篇下一篇

猜你喜欢

热点阅读