抓取json。
Future<Pwa> _futurePwa;
Future<Pwa> getPwa() async {
debugPrint("getPwa start");
String urlX = 'https://' + urlOne.text;
category ='PWA';
locale = 'se';
strategy = 'mobile';
String baseUri = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=$urlX&category=$category&strategy=$strategy&locale=$locale";
http.Response response = await http.get(baseUri);
if (response.statusCode == 429) {
debugPrint('PAUSE QUOTA EXCEEDED: ${response.statusCode}'); //OK
}
else if (response.statusCode == 200) {
debugPrint('Response status: ${response.statusCode}'); //OK
debugPrint('Response body:');
debugPrint(response.body);
return Pwa.fromJson(await json.decode(response.body));
}
else {
throw Exception('Failed to load API data.');
}
}
Container (
child: new FutureBuilder<Pwa> (
future: _futurePwa,
builder: (context, AsyncSnapshot<Pwa> snapshot) {
if (snapshot.hasData) {
debugPrint("Futurebuilder<Pwa> buildpart");
debugPrint("Test snapshot content: ${snapshot.data
.toString()}");
debugPrint(return Text('Res: ${snapshot.data.lighthouseResult.finalUrl}');
} else if (snapshot.hasError) {
debugPrint("T9-e ${snapshot.error}");
return Text("${snapshot.error}");
} else {
snapshot.hasError引发: 类型“ double”不是类型“ int”的子类型
我可以看到,如果进行整数除法,可能会发生这种情况,而我不是。 这通常会运行,但是如果我多次运行int,我的futureBuilder会产生错误并抛出错误。这是否意味着在解析getPwa()时出现类型错误,或者是因为我再次使用了Future?