如何將狀態最方便地注入環處理程序(不使用全局變量)?將狀態作爲參數傳遞給環處理程序?
下面是一個例子:
(defroutes main-routes
(GET "/api/fu" [] (rest-of-the-app the-state)))
(def app
(-> (handler/api main-routes)))
我想獲得the-state
進入的Compojure處理程序main-routes
。狀態可能是這樣用創建的地圖:
(defn create-app-state []
{:db (connect-to-db)
:log (create-log)})
在非環應用程序,我將創建一個主功能狀態,並開始注射,或它的一部分,作爲函數參數的不同組件應用程序。
可以使用ring的:init
函數做類似的事情,而不使用全局變量?
您是否在尋找每個會話狀態或全局狀態? – astine
global - 與init:和destroy相同的生存期 – 4ZM