Как сделать вызов функции asyn c во Flutter без onPressed? - PullRequest
0 голосов
/ 05 августа 2020

Это, вероятно, вопрос новичка, но я хочу назначить переменной класса ожидание функции Future. Я знаю только, что вы можете использовать функции asyn c в onPressed on buttons, но как я могу запустить их при сборке виджета или даже при инициализации?

1 Ответ

0 голосов
/ 05 августа 2020

Каждый раз, когда вы пытаетесь создать виджет, зависящий от future, вы можете использовать FutureBuilder Widget.

FutureBuilder имеет свой собственный метод сборки, которому вы можете указать начальное значение для результата future, если хотите.


class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
        future: name_Of_Your_Future
        initialData: value, //initial value for the future(ie: until it resolves)
        builder: (BuildContext context, AsyncSnapshot snapshot) {
         
          //...some UI building logic here...
   
          //snapshot.data contains the result of your future,
          //once it is resolved

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