【问题标题】:async and await in flutter颤动中的异步和等待
【发布时间】:2020-07-09 19:20:06
【问题描述】:

在我的 Flutter 应用中,async 函数最后运行,但根据代码,它应该在打印开始之后和打印结束之前运行。

@override
void initState() {
   super.initState();
   print('start');
   getApiData();
   print('end');
}

void getApiData() async {
   HomePageNetworking homePageNetworking = HomePageNetworking();
   var apiIndiaData = await homePageNetworking.getDataIndia();
   print(apiIndiaData);
}

请帮我解决这个问题。

【问题讨论】:

  • but according to the code, it should run after the print start and before the print end. 那么异步函数和普通函数有什么区别呢?
  • 我希望从 api 获得的数据位于 Text() 小部件中,我该怎么做,我需要在代码中进行哪些更改才能实现这一目标?
  • 1) 您可以使用 .then 语法(异步等待的)和 setState 来实现这一点 2) 您可以使用 FutureBuilderWidget 来处理这些场景。如果您也发布您的构建方法,我可以帮助您使用 futurebuilder。

标签: android flutter dart


【解决方案1】:

试试看: 将它们全部放在一个异步函数中,并在 initstate 中调用该函数。

【讨论】:

    猜你喜欢
    • 2020-09-01
    • 2021-02-28
    • 2020-02-16
    • 2021-03-28
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2021-10-04
    相关资源
    最近更新 更多