1
我跟着這個例子: https://github.com/Day8/re-frame/blob/master/docs/FAQs/PollADatabaseEvery60.md如何在重製幀事件分派事件
這裏是我的間隔處理器
(defonce interval-handler
(fn [{:keys [action id frequency event]}]
(let [live-intervals (atom {})]
(condp = action
:start (swap! live-intervals assoc id (js/setInterval #(re-frame/dispatch event) frequency))
:end (do (js/clearInterval (get live-intervals id))
(swap! live-intervals dissoc id))))))
(re-frame/reg-fx
:interval
interval-handler)
我試圖從另一個分派此事件的時間間隔事件就在這裏:
(re-frame/reg-event-db
:start-playing
(fn [db _]
(re-frame/dispatch [:interval {:action :start
:id :some-awesome-id
:frequency 1000
:event [:tick]}])
(assoc db :is-playing? true
:fake (random-active-color db)
:real (random-active-color db))))
但它說re-frame: no :event handler registered for: :interval
這不可能做到嗎?
你錯過了'db'作爲第一個參數爲'assoc'。它不會讓我編輯它導致變化太小... – madstap
固定 - 感謝@madstap捕捉它! –