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()
);
如果打算使用未来的
返回值,则可以替换。