We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4f46658 commit 8cef855Copy full SHA for 8cef855
src/nextjournal/clerk/render/hooks.cljs
@@ -138,12 +138,16 @@
138
"React hook which resolves a promise and handles errors."
139
[p]
140
(let [handle-error (use-error-handler)
141
+ !latest-promise (use-ref p)
142
!state (use-state nil)]
143
(use-effect (fn []
144
+ (reset! !latest-promise p)
145
(-> p
- (.then #(reset! !state %))
- (.catch handle-error)))
146
- #js [])
+ (.then #(when (= p @!latest-promise)
147
+ (reset! !state %)))
148
+ (.catch #(when (= p @!latest-promise)
149
+ (handle-error %)))))
150
+ #js [p])
151
@!state))
152
153
(defn ^js use-d3-require [package]
0 commit comments