1
如何在let塊中綁定javascript promise的已解析返回值(本例中爲json對象)?我得到的是一個#object[Promise [object Promise]]
如何在ClojureScript中綁定Javascript承諾的解析值
例如:
(.then (fn-that-returns-a-js-promise) #(print (.-prop %)))
打印prop
到控制檯的價值,同時:
(let [prop (.then (fn-that-returns-a-js-promise) #(.-prop %))] (print prop))
打印#object[Promise [object Promise]]
但打電話打印顯然強迫它? – mac
@mac'.then(fn)'無論你傳遞給它的是什麼函數,返回值總是一個Promise。這是JavaScript的「限制」,而不是ClojureScript。 –
在你的第一個表達式中,打印被稱爲_inside_諾言,並且一旦原始諾言被釋放,它就會被執行(打印)。你的第二個表達只是打印承諾,而不是它的價值。該價值可以從承諾本身 –