Проверка асинхронной формы флаттера - PullRequest
0 голосов
/ 01 ноября 2018

У меня та же проблема, что и у автора в этом вопросе: флаттер проверяет форму асинхронно .

Однако у меня возникли проблемы с реализацией этого и я понимаю, как работает проверка.

Во-первых, что возвращает этот код? Это возвращает логическое значение?

Future checkUser() async {
var user = await Firestore.instance
    .collection('users')
    .document(userNameController.text)
    .get();
return user.exists;

Во-вторых, что такое userNameValidator в этом случае? Это логическое значение?

new TextFormField(
              validator: (value) {
                return usernameValidator;
              },

Спасибо, за помощь.

1 Ответ

0 голосов
/ 01 ноября 2018

Метод checkUser начнет вызов Firebase. Ключевое слово await сообщает компилятору, что нам нужен вывод этого вызова, но нет необходимости блокировать выполнение всего остального. После совершения вызова функция вернет логическое значение, указывающее, существует ли данный пользователь.

По другому вопросу checkUser вызывается с помощью вызова onPressed, который ожидает возвращаемого значения и присваивает его переменной usernameValidator, что делает его булевым.

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