Ну, вы имеете дело с функцией, которая возвращает Future
.
Итак, вы можете использовать FutureBuilder
для работы с этой функцией и реагирования на различные состояния.
Это простой код, который имеет дело с аналогичной ситуацией.
someFutureStringFunction()
- это ваш getDistance()
.
. Также посмотрите на виджет FutureBuilder
внутри Scaffold()
Future<String> someFutureStringFunction() async {
return Future.delayed(const Duration(seconds: 1), () => "someText");
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
future: someFutureStringFunction(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text(snapshot.data);
} else {
return Text('Loading...');
}
},
),
);
}