dart - 是否可以在构造函数中调用异步方法?

标签 dart

我仅在第一个方法完成时才需要调用第二个方法。他们两个都是异步的。我写了下一个代码:

class MyApp extends StatelessWidget {
  TenderApiData _tenderApiData;
  MyApp(this._tenderApiData)
  {
    _tenderApiData.getApiKey().then(
      _tenderApiData.getRegionsList()
    );
  }
}

但是我得到了错误:

Unhandled Exception: type 'Future' is not a subtype of type '(dynamic) => FutureOr' of 'f'

最佳答案

然后then方法的语法在您的情况下是错误的,它需要一个返回FutureOr<R>而不是Future本身的函数。

您的代码应该是

    _tenderApiData.getApiKey().then((_) =>
      _tenderApiData.getRegionsList()
    );

如果打算使用_的返回值,则可以替换Future

关于dart - 是否可以在构造函数中调用异步方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57326449/

相关文章:

dart - Flutter - BLoC 模式 - 如何使用流调用另一个小部件的方法,即动画?

Flutter:如何以编程方式添加 TextField 或 TextFormField

dart - 安装google api日历时出现flutter dart错误

google-chrome - 在 Debian 7 上编译 Dart 和 Dartium

lift - 在技​​术上是否可行,将 Dart 与 Lift 一起使用是否有意义?

android - Flutter cloud_firestore 包导致应用崩溃

dart - Flutter中的状态管理(屏幕)->持久屏幕

flutter - 如何使用BLoC在 flutter 的屏幕之间传递数据?

json - 如何从列表中映射 Flutter JSON 字符串?

http - Dart 中 http 和 HttpClient 的区别