如何在应答之前取消once()调用

How to cancel a once() call before answer?

本文关键字:once 调用 取消 应答      更新时间:2023-09-26

那么在数据库应答之前取消.once()调用的正确方法是什么呢?

我有一个用例,如果数据库需要超过几秒钟的回答,我不想要答案。我使用承诺符号,但如果需要,我可以切换到回调符号。

承诺符号:

firebase.database().ref('something').once('value').then(...)
回调符号

:

firebase.database().ref('something').once('value',snapshot => {...})

您可以通过调用off()取消侦听器的注册。

参见off()的参考文档。它只说可以为on()工作,但它也可以为once()侦听器工作。

我不确定它会完成什么,因为value侦听器无论如何都会立即启动。