python tornado中文文档api方法调用顺序

日期:2018-07-05 21:53:31 类别:  tornado

python tornado中文文档api方法调用顺序,程序没有错误和抛异常的时候,api方法执行顺序有一点点差别

在IndexHandler中做如下编码

class IndexHandler(RequestHandler):

    def initialize(self):
        print "调用了initialize()"

    def prepare(self):
        print "调用了prepare()"

    def set_default_headers(self):
        print "调用了set_default_headers()"

    def write_error(self, status_code, **kwargs):
        print "调用了write_error()"

    def get(self):
        print "调用了get()"

    def post(self):
        print "调用了post()"
        self.send_error(200)  # 注意此出抛出了错误

    def on_finish(self):
        print "调用了on_finish()"

(一)当程序未抛出异常时的调用顺序

  1. set_defautl_headers()

  2. initialize()

  3. prepare()

  4. HTTP方法

  5. on_finish()

(二)当程序抛出异常时的调用顺序

  1. set_default_headers()

  2. initialize()

  3. prepare()

  4. HTTP方法

  5. set_default_headers()

  6. write_error()

  7. on_finish()

调用了两次set_default_header()方法