Как отписаться от Firestore о получении данных? - PullRequest
0 голосов
/ 30 января 2020

Я хочу отменить подписку при извлечении компонента.

Я получаю вот так:

const snapshot = await db.collection(`users/user/messages`);

При медленном inte rnet это может занять некоторое время, и перед извлечением fini sh, компонент может быть отключен.

Так как отписаться или отменить подписку в фоновом режиме, когда компонент отключен?

1 Ответ

2 голосов
/ 30 января 2020

Я предполагаю, что ваш код на самом деле имеет .get() в конце строки для фактического выполнения запроса.

Операции Firestore, которые возвращают обещания, не могут быть отменены (как почти все API-интерфейсы что вернуть обещания). Обещание будет в конечном итоге разрешено или отклонено. Вам не нужно ничего делать с данными, которые вы получаете в результате, но SDK определенно будет ждать завершения запроса и извлечения всех данных.

Если это вызовет проблему для В своем приложении рассмотрите возможность извлечения меньшего количества данных, разбивая на страницы результаты и загружая документы только тогда, когда они станут видимыми. Это намного больше работы, но это может сэкономить ваше время и деньги для больших наборов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...