我正在使用create-react-app和firestore开发reactJS应用。
当我通过调用
将文档添加到Firestore时尝试获取服务器时间戳时await firebase.firestore()
.collection('messages')
.add({ timestamp: firebase.firestore.FieldValue.serverTimestamp() });
在看似随机的时间出现以下错误。有时它起作用,有时却不起作用。该文档最终并没有被写入Firestore。
index.cjs.js:175 Uncaught Error: FIRESTORE (5.8.0) INTERNAL ASSERTION FAILED:
AsyncQueue is already failed: Error: FIRESTORE (5.8.0) INTERNAL ASSERTION FAILED: Unknown FieldValue {"localWriteTime":{"seconds":1548602883,"nanoseconds":762000000},"previousValue":null,"typeOrder":3}
at fail (index.cjs.js:175) at JsonProtoSerializer.toValue (index.cjs.js:6976) at index.cjs.js:7726 at Array.map ()
at JsonProtoSerializer.toCursor (index.cjs.js:7725)
at JsonProtoSerializer.toQueryTarget (index.cjs.js:7558)
at JsonProtoSerializer.toTarget (index.cjs.js:7650)
at PersistentListenStream.watch (index.cjs.js:16906)
at RemoteStore.sendWatchRequest (index.cjs.js:17859)
at RemoteStore.listen (index.cjs.js:17814) at SyncEngine. (index.cjs.js:19354)
at step (tslib.es6.js:197)
at Object.next (tslib.es6.js:127)
at fulfilled (tslib.es6.js:80)
at fail (index.cjs.js:175)
at AsyncQueue.verifyNotFailed (index.cjs.js:8735)
at AsyncQueue.enqueue (index.cjs.js:8682)
at AsyncQueue.enqueueAndForget (index.cjs.js:8671)
at index.cjs.js:16850
at StreamBridge.wrappedOnMessage (index.cjs.js:16801)
at StreamBridge.callOnMessage (index.cjs.js:7992)
at index.cjs.js:8267
at W. (index.cjs.js:8210)
at W.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.Lb (index.esm.js:860)
at W.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.dispatchEvent (index.esm.js:815)
at X.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.X.ud (index.esm.js:3682)
at $c.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.dg (index.esm.js:3431) at $c.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.ue (index.esm.js:3320)
at R.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.Yc (index.esm.js:1875)
at R.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.Fd (index.esm.js:1771)
at R.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.hg (index.esm.js:1733)
at R.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.Me (index.esm.js:1690)
at R.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.mg (index.esm.js:1685)
at V.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.Lb (index.esm.js:860)
at V.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.dispatchEvent (index.esm.js:815)
at V.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.se (index.esm.js:2840) at V.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.eg (index.esm.js:2836)
at V.push../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js.e.te (index.esm.js:2832)
我在firebase github上发现this thread,声称已解决了该问题,但是升级到firebase SDK 5.8.0和firebase工具6.3.0之后,错误仍然存在。
还有其他人遇到此错误,还是有人知道如何解决此问题?
谢谢!