fix http-fetch: handle error status code

This commit is contained in:
Roman Volosovskyi 2017-03-07 12:36:13 +02:00
parent 15d3d758ad
commit 9e509d2f9a

View File

@ -44,8 +44,15 @@
(-> (.fetch js/window url (clj->js {:method "GET"})) (-> (.fetch js/window url (clj->js {:method "GET"}))
(.then (fn [response] (.then (fn [response]
(log response) (log response)
(.text response))) [(.text response) (.-ok response)]))
(.then on-success) (.then (fn [[response ok?]]
(cond
ok? (on-success response)
(and on-error (not ok?))
(on-error response)
:else false)))
(.catch (or on-error (.catch (or on-error
(fn [error] (fn [error]
(show-popup "Error" (str error)))))))) (show-popup "Error" (str error))))))))