【发布时间】:2021-10-14 17:16:46
【问题描述】:
在我的测试代码中,函数 fetchExchangeRates 将返回一个列表对象,而不是 Future 声明为它的返回类型,但此代码将构建良好,但如果我删除 async 关键字,编译将抱怨类型不匹配.
那么为什么使用 async 关键字构建是可以的?
class Rate{
String baseCurrency = '';
String quoteCurrency = '';
double exchangeRate = 0;
Rate({required this.baseCurrency,required this.quoteCurrency,required this.exchangeRate});
}
Future<List<Rate>> fetchExchangeRates() async{
List<Rate> list = [];
list.add(Rate(
baseCurrency: 'USD',
quoteCurrency: 'EUR',
exchangeRate: 0.91,
));
list.add(Rate(
baseCurrency: 'USD',
quoteCurrency: 'CNY',
exchangeRate: 7.05,
));
list.add(Rate(
baseCurrency: 'USD',
quoteCurrency: 'MNT',
exchangeRate: 2668.37,
));
print('fetchExchangeRates returns');
return list;
}
void main() {
fetchExchangeRates();
print('after fetchExchangeRates');
}
【问题讨论】: