File tree Expand file tree Collapse file tree 2 files changed +28
-5
lines changed Expand file tree Collapse file tree 2 files changed +28
-5
lines changed Original file line number Diff line number Diff line change 25
25
(dotimes [_ count]
26
26
(>! workers (create-one script))))
27
27
workers)))
28
+
29
+ (defn- do-request!
30
+ [worker {:keys [handler arguments transfer] :as request}]
31
+ (let [message
32
+ (-> {:handler handler, :arguments arguments}
33
+ clj->js)
34
+
35
+ transfer
36
+ (->> transfer
37
+ (select-keys arguments)
38
+ vals)]
39
+
40
+ (if (seq transfer)
41
+ (.postMessage worker message (clj->js transfer))
42
+ (.postMessage worker message))))
43
+
44
+ (defn- handle-response!
45
+ [event]
46
+ (-> (.-data event)
47
+ (js->clj :keywordize-keys true )))
48
+
Original file line number Diff line number Diff line change 17
17
(handler arguments)
18
18
19
19
message
20
- (merge result {:state :success })
20
+ (-> result
21
+ (merge {:state :success })
22
+ clj->js)
21
23
22
24
transfer
23
- (->> (:transfer message )
25
+ (->> (:transfer result )
24
26
(map keyword)
25
- (select-keys message )
27
+ (select-keys result )
26
28
vals)]
27
29
28
30
(if (seq transfer)
29
- (.postMessage js/self ( clj->js message) (clj->js transfer))
30
- (.postMessage js/self ( clj->js message) )))
31
+ (.postMessage js/self message (clj->js transfer))
32
+ (.postMessage js/self message)))
31
33
32
34
(catch js/Object e
33
35
(->> {:state :error , :message (.toString e)}
You can’t perform that action at this time.
0 commit comments