1

我想在我的 Cyclone 请求处理程序中使用这样的简单装饰器来装饰 post/get/... 方法:

def json_errors(fun):
    def x(self, *args, **kwargs):
        try:
            rv = fun(self, *args, **kwargs)
            return rv
        except cyclone.web.HTTPError, e:
            self.set_status(e.status_code)
            self.set_header('Content-Type', 'application/json')
            self.write(e.log_message)
            self.finish()
    return x

但是,因为我的 post/get/... 方法已经用 defer.inlineCallbacks 装饰了,所以无论我将装饰器放在 @defer.inlineCallbacks 之前还是之后,我都会遇到各种与延迟相关的错误。

如何添加我的装饰器?

4

0 回答 0