【发布时间】:2018-12-15 07:31:26
【问题描述】:
假设一个瓶子应用程序有多个 before_request 挂钩。这些钩子有执行顺序吗?
【问题讨论】:
假设一个瓶子应用程序有多个 before_request 挂钩。这些钩子有执行顺序吗?
【问题讨论】:
是的。钩子按照它们在代码库中的定义顺序执行(触发)。
def add_hook(self, name, func):
if name in self.__hook_reversed:
self._hooks[name].insert(0, func)
else:
self._hooks[name].append(func)
def trigger_hook(self, __name, *args, **kwargs):
""" Trigger a hook and return a list of results. """
return [hook(*args, **kwargs) for hook in self._hooks[__name][:]]
【讨论】: