Flask 信號

2021-08-10 17:49 更新
0.6 新版功能.

從 Flask 0.6 開始, Flask 集成了信號支持。這個支持由 blinker 庫提供, 并且當(dāng)它不可用時會優(yōu)雅地退回。

什么是信號?信號通過發(fā)送發(fā)生在核心框架的其它地方或 Flask 擴展的動作 時的通知來幫助你解耦應(yīng)用。簡而言之,信號允許特定的發(fā)送端通知訂閱者發(fā) 生了什么。

Flask 提供了幾個信號,其它的擴展可能會提供更多。另外,請注意信號傾向于 通知訂閱者,而不應(yīng)該鼓勵訂閱者修改數(shù)據(jù)。你會注意到,信號似乎和一些內(nèi)置的 裝飾器做同樣的事情(例如: request_startedbefore_request() 十分相似)。然而它們工作的方式是有 差異的。譬如核心的 before_request() 處理程序以特定的順 序執(zhí)行,并且可以在返回響應(yīng)之前放棄請求。相比之下,所有的信號處理器執(zhí)行的 順序沒有定義,并且不修改任何數(shù)據(jù)。

信號之于其它處理器最大的優(yōu)勢是你可以在一秒鐘的不同的時段上安全地訂閱。譬 如這些臨時的訂閱對單元測試很有用。比如說你想要知道哪個模板被作為請求的一 部分渲染:信號允許你完全地了解這些。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號