Skip to content

Commit b569c59

Browse files
committed
add error handling to workers
1 parent b672770 commit b569c59

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/renderer/attribute/views.cljs

+3-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,9 @@
156156
[:<>
157157
[:h3.font-bold (if (= k :appliesto)
158158
"Applies to"
159-
(-> k csk/->kebab-case-string (str/replace "-" " ") str/capitalize))]
159+
(-> (csk/->kebab-case-string k)
160+
(str/replace "-" " ")
161+
(str/capitalize)))]
160162
[:p (cond->> v (vector? v) (str/join " | "))]]))
161163

162164
(defn property-list

src/renderer/worker/effects.cljs

+8-5
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55

66
(rf/reg-fx
77
::post
8-
(fn [{:keys [data on-success]}]
9-
(let [worker (js/Worker. "js/worker.js")]
8+
(fn [{:keys [data on-success on-error]}]
9+
(let [worker (js/Worker. "js/worker.js")
10+
id (uuid (:id data))]
1011
(.addEventListener
1112
worker
1213
"message"
13-
#(let [response-data (js->clj (.. % -data) :keywordize-keys true)
14-
id (uuid (:id response-data))]
15-
(rf/dispatch [::worker.e/completed id on-success response-data])))
14+
#(let [response-data (js->clj (.. % -data) :keywordize-keys true)]
15+
(rf/dispatch [::worker.e/message id on-success response-data])))
16+
17+
(.addEventListener worker "error" #(rf/dispatch [::worker.e/message id on-error %]))
18+
1619
(.postMessage worker (clj->js data)))))

src/renderer/worker/events.cljs

+5-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
(assoc-in [:data :action] (:action options)))}))
1515

1616
(rf/reg-event-fx
17-
::completed
18-
(fn [{:keys [db]} [_ id on-success response-data]]
19-
{:db (update-in db [:worker :tasks] dissoc id)
20-
:dispatch (conj on-success response-data)}))
17+
::message
18+
(fn [{:keys [db]} [_ id event response-data]]
19+
(cond-> {:db (update-in db [:worker :tasks] dissoc id)}
20+
event
21+
(assoc :dispatch (conj event response-data)))))

0 commit comments

Comments
 (0)