Как определить асинхронные функции сборки во Flutter? - PullRequest
0 голосов
/ 20 апреля 2020

Я пишу виджет для мобильного приложения Flutter, и я написал функцию для получения информации о погоде из API. Функции API - это асинхронная функция c, которая использует ожидание возврата go и получение информации после возврата вызова API. Вот самый простой из возможных кодов.

Future<Int> getTemp() async {
    // get api call
    return temp
}

class TempTextState extends State<WeatherData> {
    @override
    Widget build(BuildContext context) async {
         return Text(await getTemp());
    }
}

Кажется, что это будет работать, но потом я понимаю, что функции asyn c должны возвращать Futures, а build возвращает Widget, а не FutureWidget. Я хочу использовать асинхронные функции для извлечения данных для меня, но я не могу придумать, как использовать асин c функции в неасин c функции. Как мне избежать асин c ад?

1 Ответ

0 голосов
/ 20 апреля 2020

Flutter имеет те же параметры, что и asyn c -wait статья, также лучшие практики использования FutureBuilder . Если вам нужен сервисный вызов в первый раз, напишите свой код инициализации. Я добавляю пример кода будущего строителя => Репо

Посмотрите на пример кода: Future request

...