所以我有这个显示股票价格的小部件。我使用 HTTP 调用来获取股票价格,当然这个函数是异步的,在返回股票价格之前,我等待网络服务完成。但是,每次我尝试打印此 stockPrice 时,它都会说这是一个未来,但我不知道如何解开它?我已经在我的网络调用中等待了,所以不应该打开它并给我背后的真正价值吗?
StockService stockService = new StockService();
var stockPrice = stockService.getStockPriceBySymbol(symbols.elementAt(x));
print(stockPrice);
网络服务:
Future<dynamic> getStockPriceBySymbol(String symbol) async {
NetworkService networkService = NetworkService(
'$alphaStockApiURL?function=GLOBAL_QUOTE&symbol=$symbol&apikey=$kAlphaStockAPIKey');
var stockData = await networkService.getData();
// print(stockData['Global Quote']['05. price']);
return stockData['Global Quote']['05. price'];
}
你需要一个 await stockService.getStockPriceBySymbol
var stockPrice = await stockService.getStockPriceBySymbol(symbols.elementAt(x));
或未来 .then
stockService.getStockPriceBySymbol(symbols.elementAt(x)).then((stockPrice){
print(stockPrice);
)};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句