0
這是我必須設置一些數據的代碼:火力地堡不與瀏覽器的API設置數據
firebase.database().ref(key).set(val);
返回
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
這表明,我可以通過它再/ catch處理程序,但寫作:
log = function(x) {console.log(x)
firebase.database().ref(key).set(val).then(log).catch(log)
具有完全相同的效果(不返回任何結果/打印兩種方式)
奇怪的是,這是間歇性的工作,我只是無法弄清楚爲什麼。
我經常使用這些API,包括像你這樣的承諾。你在什麼環境下運行代碼?你能設置一個再現問題的jsbin,以便我可以試試嗎? –
@FrankvanPuffelen看起來'set'不會返回任何東西,即使在諾言中,但它確實有效。它實際上是將價值傳遞給承諾。 –