flutter - 颤振中的http错误_InternalLinkedHashMap
问题描述
我在flutter中运行这组代码,但是运行时显示图片中的错误
import 'dart:convert';
import 'package:http/http.dart' as http;
class ServisApi {
final client = http.Client();
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
final Url = Uri.https('pokeapi.co', '/api/v2/pokemon-species/$id/');
print('pokospikal' ' ' '${Url}');
final response1 =
await client.get(Url).then((value) => json.decode(value.body));
print((response1.toString().isNotEmpty));
final ResponsFromjson = ModelSpescal(test: response1);
return ResponsFromjson;
}
}
class ModelSpescal {
final String test;
ModelSpescal({required this.test});
factory ModelSpescal.Fromjson(Map<String, dynamic> jsonTest) {
return ModelSpescal(test: jsonTest['name']);
}
}
main() {
print(ServisApi().PokomanSpeciesServisApli(320));
}
解决方案
这可能是由于类型转换问题。由于您正在使用async
并且await
您可以简化如下代码。
Future<ModelSpescal> PokomanSpeciesServisApli(int id) async {
// Other codes
final response = await http.get(Url);
final Map<String, dynamic> response1 = json.decode(response.body);
final ResponsFromjson = ModelSpescal.Fromjson(response1);
return ResponsFromjson;
}
推荐阅读
- android - 如何在 Android Studio 预览中预览 ScrollView?
- database - 可以使用 GDPR 将密码存储到私有存储库中的数据库吗?
- bluetooth - UWP 如何检查来自 BLE 设备的传入请求?
- vb.net - 如何使用存储过程 oracle sql 和 vb.net 填充组合框
- sharepoint-online - 在 JSOM 中设置 SharePoint 搜索查询结果源
- javascript - 对每个表行反应 onclick
- python - python 2.7从文本文件中读取多行
- r - 在 mutate 函数中使用先前的值
- c++ - c++17 polyfills 和 boost
- python - 如何快速迭代熊猫数据框项目?