Флаттер Как отменить Streambuilder перед auth.signOut? - PullRequest
0 голосов
/ 11 марта 2020

Я использую Streambuilder, чтобы заполнить Listview.builder данными из firestore. Все работает нормально, но если пользователь решает внезапно выйти из системы (auth.signOut), он перенаправляется на страницу входа в систему, но в консоли появляется предупреждение о пожарном хранилище, в котором говорится, что Listen for Query не выполнен из-за недостаточных разрешений, что вполне понятно, учитывая безопасность правила для БД, которая разрешает чтение / запись только для аутентифицированных пользователей. Я понимаю, что Streambuilder автоматически закрывается, когда дерево виджета, в котором он находится, разрушается, но как мне закрыть его перед вызовом auth.signOut, чтобы предотвратить это предупреждение? Или я могу просто проигнорировать предупреждение? Цени любые огни.

1 Ответ

0 голосов
/ 11 марта 2020

Вы можете просто проигнорировать это. Как вы упомянули, это ожидается из-за установленной аутентификации, поэтому нет проблем с тем, что это предупреждение отображается в консоли.

Однако, если вы хотите закрыть его, перед вызовом auth.signOut, согласно этому другому вопросу о сообществе здесь , вы можете установить свой поток как ноль, прежде чем метод выйдет из системы. Используется следующий пример:

setState(() {
  _messageStream = null;
});

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

Дайте мне знать, помогла ли вам информация!

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