我是Flutter Futures的新手。我想从API获取一个数字,然后在Flutter中显示该数字:
FutureBuilder(
future: http.get('http://match.palm.pink/v1/count'),
builder: (context, snapshot) {
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
else
return Text('Result: ${snapshot.data}');
}
但是,Flutter应用程序会显示
Result: Instance of 'Response'
我只是在检索一个数字,不想创建一个类来将该数字转换为数字。我应该使用FutureBuilder
还是使用Future<whatever> method async { var output = await http.get(url) }
技术?
答案 0 :(得分:1)
您可以通过如下方式访问snapshot.data的正文来做到这一点:
FutureBuilder(
future: http.get('http://match.palm.pink/v1/count'),
builder: (context, snapshot) {
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
else
return Text('Result: ${snapshot.data.body}');
}
)
答案 1 :(得分:0)
如果该网址返回JSON文件,则可以通过${snapshot.data['key']}
答案 2 :(得分:0)
FutureBuilder(
future: http.get('http://192.168.1.2:3000/v1/count'),
builder: (context, snapshot) {
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
if(snapshot.hasData)
return Text('Result: ${snapshot.data['Yourkey']}');
}
您需要提供Firebase集合中指向您数据的密钥