Монтирование исходных данных ajax в Re-frame - PullRequest
0 голосов
/ 29 сентября 2018

Я вижу пример вызова Ajax в документах перефразирования:

(reg-event-fx        ;; <-- note the `-fx` extension
  :request-it        ;; <-- the event id
  (fn                ;; <-- the handler function
    [{db :db} _]     ;; <-- 1st argument is coeffect, from which we extract db    
    ;; we return a map of (side) effects
    {:http-xhrio {:method          :get
                  :uri             "http://json.my-endpoint.com/blah"
                  :format          (ajax/json-request-format)
                  :response-format (ajax/json-response-format {:keywords? true}) 
                   :on-success      [:process-response]
                   :on-failure      [:bad-response]}
     :db  (assoc db :loading? true)}))

Могу ли я просто вызвать событие в основной функции:

 (reframe/dispatch-sync [:request-it])

для загрузки начальногоценности?Мне нужно загрузить исходные значения, а затем визуализировать представления.

ОБНОВЛЕНИЕ

Я сделал это с помощью этой функции:

(reframe/reg-event-db
  :process-response
    (fn
      [db [_ response]]
        (-> db
          (assoc :loading?  false)     ;; take away that "Loading ..." UI
          (assoc :test      (js->clj response))
          (assoc :questions (js->clj (:questions response))))))
...