2016-09-29 3 views
1

Итак, каков правильный способ отмены вызова .once() до того, как база данных ответила?Как отменить вызов() перед ответом?

У меня есть прецедент, где, если база данных занимает больше, чем несколько секунд, чтобы ответить, я не хочу ответа. Я использую обозначение обещания, но при необходимости я могу переключиться на нотацию обратного вызова.

Promise обозначения:

firebase.database().ref('something').once('value').then(...) 

Ответный обозначения:

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

ответ

4

Вы можете отменить регистрацию слушателей по телефону off().

См. reference documentation for off(). Он говорит только о работе за on(), но он будет работать и для once() слушателей.

Я не уверен, что бы это получилось, поскольку слушатель value будет стрелять сразу же.

+0

Время, необходимое для ответа, действительно зависит от соединения и количества данных, нет? – Pier