flutter - 如何在没有错误的情况下将Future <void> main转换为dart flutter 中的Future <List>

标签 flutter dart flutter-layout flutter-dependencies dart-webui

我想将下面的代码变成:

Future<List> fetchPrices() async {details in code below} 

没有错误。

要更改的代码在这里:
Future<void> main(List<String> arguments) async {
  Map<String, num> quotes = await Forex.fx(
    quoteProvider: QuoteProvider.yahoo,
    base: 'USD',
    quotes: <String>['EUR', 'JPY']
  );
  print('Number of quotes retrieved: ${quotes.keys.length}.');
  print('Exchange rate USDEUR: ${quotes['USDEUR']}.');
  print('Exchange rate USDJPY: ${quotes['USDJPY']}.');
  quotes = await Forex.fx(
    quoteProvider: QuoteProvider.ecb,
    base: 'JPY',
    quotes: <String>['EUR', 'USD']
  );
  print('Number of quotes retrieved: ${quotes.keys.length}.');
  print('Exchange rate JPYEUR: ${quotes['JPYEUR']}.');
  print('Exchange rate JPYUSD: ${quotes['JPYUSD']}.');
}

最佳答案

根据您的代码示例Forex.fx()返回Map<String, num>。因此,您在这里有两个选择。

Future<List<String>> fooFunction(List<String> arguments) async {
  Map<String, num> quotes = await Forex.fx(
      quoteProvider: QuoteProvider.yahoo,
      base: 'USD',
      quotes: <String>['EUR', 'JPY']
  );
  return quotes.keys;
}

Future<List<num>> fooFunction(List<String> arguments) async {
  Map<String, num> quotes = await Forex.fx(
      quoteProvider: QuoteProvider.yahoo,
      base: 'USD',
      quotes: <String>['EUR', 'JPY']
  );
  return quotes.values;
}

关于flutter - 如何在没有错误的情况下将Future <void> main转换为dart flutter 中的Future <List>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61174862/

相关文章:

flutter - 我的 AdListener 在代码中显示一些错误行

flutter - 类没有实例 setter 'id='

firebase - Flutter,是否可以在没有窗口小部件构建方法的情况下在功能中使用Firestore Stream Builder?

dart - Flutter如何使用ListTile Threeline

dart - 如何从 Flutter(Dart) 中的另一个类调用方法?

html - html5lib dart。通过类选择器查询抛出异常

dart - flutter 中的侧面径向菜单

Flutter:在 Column 中完全包含一个 ListView(没有扩展)

asynchronous - 如何使用dart(Flutter)中的Future和.then()转换此简单的异步,等待格式化的代码?

iPhone 上的 Flutter 底部填充颜色