Вам просто нужно await
для значения:
string = await futureString;
Поскольку значение равно Future<String>
, ключевое слово await
будет ждать, пока задача завершится sh, и вернет значение не переходя к следующему оператору .
Обратите внимание, что для использования await
необходимо сделать метод async
ronous yourMethod() async {}
Или использовать обратный вызов then
:
futureString.then((value) {
string = value;
});
Оба делают одно и то же, но когда вы используете обратный вызов, вам не нужно делать ваш метод асинхронным, но асинхронный улучшит читабельность (используйте один в зависимости от сценария).