Dart 可以在构造函数内调用异步方法吗?

Dart 可以在构造函数内调用异步方法吗?,dart,Dart,我只需要在第一个方法完成时调用第二个方法。它们都是异步的。我编写了下一个代码: class MyApp extends StatelessWidget { TenderApiData _tenderApiData; MyApp(this._tenderApiData) { _tenderApiData.getApiKey().then( _tenderApiData.getRegionsList() ); } } 但我得到了一个错误: 未处理的异常:

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

class MyApp extends StatelessWidget {
  TenderApiData _tenderApiData;
  MyApp(this._tenderApiData)
  {
    _tenderApiData.getApiKey().then(
      _tenderApiData.getRegionsList()
    );
  }
}
但我得到了一个错误:

未处理的异常:“Future”类型不是“f”的类型“(动态)=>FutureOr”的子类型

当然可以

class MyApp extends StatelessWidget {
  TenderApiData _tenderApiData;
  MyApp(this._tenderApiData) {
     _tenderApiData.getApiKey().then(( _) {
       _tenderApiData.getRegionsList()
      });
  }
}
当然可以

class MyApp extends StatelessWidget {
  TenderApiData _tenderApiData;
  MyApp(this._tenderApiData) {
     _tenderApiData.getApiKey().then(( _) {
       _tenderApiData.getRegionsList()
      });
  }
}
那么,在您的例子中,该方法的语法是错误的,它希望函数返回一个
FutureOr
而不是Future本身

你的代码应该是

    _tenderApiData.getApiKey().then((_) =>
      _tenderApiData.getRegionsList()
    );
如果您打算使用
未来
的返回值

,则可以替换
,在您的情况下,该方法的语法是错误的,它需要一个返回未来或
的函数,而不是未来本身

你的代码应该是

    _tenderApiData.getApiKey().then((_) =>
      _tenderApiData.getRegionsList()
    );
如果打算使用
未来的
返回值,则可以替换