我使用cronJob启动firebase云功能。
一切正常但我得到了这个错误:
来自firebase的Firebase数据库(4.2.1)INTERNAL ASSERT FAILED:removeWrite调用 不存在writeId
和cronJob正在返回
错误:无法处理请求
我认为this person有同样的问题,但我不确定如何检查是否有2个功能同时发生,或者如果有,如何修复它。
之前有人遇到此问题或者想知道如何修复它?
答案 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();
}