【发布时间】:2019-03-05 21:18:38
【问题描述】:
我在 Javascript(网络)上使用 Firebase-Firestore 和渐进式网络应用程序。我遇到了这个错误:
INTERNAL ASSERTION FAILED: Got result for empty write pipeline
由于 Firebase 与 XHR 请求异步运行,因此很难确定错误的确切来源 - 似乎任何 onSnapshot、set 或 update 都在为我抛出此错误。
在第一个错误之后出现了一系列其他错误:
INTERNAL ASSERTION FAILED: AsyncQueue is already failed: Error: FIRESTORE (5.3.0) INTERNAL ASSERTION FAILED: Got result for empty write pipeline
我认为我的操作很正常 - 只是在它发生时使用 API set(), update() , onSnapshot() 函数。
这不是一个关键任务错误 - 代码运行良好,但是当我打开调试时遇到了几千个错误,所以在这方面它是禁止的。
对于我的 PWA,我使用的是缓存优先、网络更新模型,它返回 cachedResponse,但也返回 fetch()es 响应并缓存获取的响应。
有人有什么见解吗?
【问题讨论】:
-
附加信息:我正在使用渐进式 Web 应用服务工作者。当我关闭缓存并让它只进入网络时,代码工作正常!我认为 serviceWorker 正在干扰调用。
-
@FrankvanPuffelen 已编辑 - 你能再读一遍吗?由于我上面提到的问题,我仍然无法真正放下确切的代码行。解决了这个问题后,我认为这与我将获得的可重复性一样接近,而不会在问题中给出答案。
-
这是一个失败的内部断言,这不应该发生。你能分享完整的堆栈跟踪吗?
-
如果您因为是 firebase 开发人员之一而对此感到担忧,没关系,我已经解决了。问题是我的 PWA 代码干扰了 firebase 发出的 CORS 请求。下面看看我的回答~
-
我很担心,因为这是一个失败的内部断言,它永远不会发生。但是为了更好地理解原因,我们需要查看完整的堆栈跟踪。
标签: javascript firebase google-cloud-firestore progressive-web-apps