Я выполняю вызов функции в моей базе данных, которая обновляет локальный объект после получения данных и занимает несколько секунд.
Из-за задачи Async программа переходит к следующей строке кода.к сожалению, мне нужен локальный объект, который обновляется с помощью асинхронного вызова для следующей строки кода.
как я могу дождаться завершения моей асинхронной задачи перед выполнением следующего фрагмента кода?спасибо
изменить: добавив код для объяснения
updateUser() {
return FutureBuilder(
future: updateUserData(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState != ConnectionState.done) {
return Text("hello not");
} else {
return Text('Hello!');
}
},
);}
@override
Widget build(BuildContext context) {
switch (_authStatus) {
case AuthStatus.notSignedIn:
return new LoginPage(
auth: auth,
CurrentUser: CurrentUser,
onSignedIn: _signedIn,
);
case AuthStatus.signedIn:
{
updateUser(); //THIS TAKES A COUPLE SECONDS TO FINISH BUT I NEED TO SEND IT TO THE NEXT PAGE
return new HomePage(
auth: auth,
CurrentUser: CurrentUser,
onSignedOut: _signedOut,
);
}
}
}
}