Firebase INTERNAL ASSERT FAILED:使用不存在的writeId调用removeWrite

时间:2017-04-28 18:04:12

标签: firebase

我使用cronJob启动firebase云功能。

一切正常但我得到了这个错误:

  

Firebase数据库(4.2.1)INTERNAL ASSERT FAILED:removeWrite调用   不存在writeId

来自firebase的

和cronJob正在返回

  

错误:无法处理请求

我认为this person有同样的问题,但我不确定如何检查是否有2个功能同时发生,或者如果有,如何修复它。

之前有人遇到此问题或者想知道如何修复它?

1 个答案:

答案 0 :(得分:0)

我终于明白了。我也遇到了这个问题,它说您正在尝试在删除引用的同时进行交易。换句话说,我的代码是这样的:

setTimeout(() => {
this.ref.child('name').transaction(data => { return null }); // or any update
}, 500);

// somewhere later...
this.ref.child('name').remove();

就我而言,我尝试通过事务和调用remove()方法删除引用。 我假设在此参考上运行事务时,firebase无法处理删除参考。 我所做的解决方案:

let isTimeoutStarted: boolean = false;
setTimeout(() => {
isTimeoutStarted = true;
this.ref.child('name').transaction(data => { return null }); // or any update
}, 500);

if(!isTimeoutStarted) {
   this.ref.child('name').remove();
}