我收到了错误消息:
Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Future <dynamic>`
_LocationScreenState.build.<anonymous closure>
(package:clima/screens/location_screen.dart:71:32)
<asynchronous suspension>
被精确定位的线在这里:
FlatButton(
onPressed: () async {
var weatherData = await weather.getLocationWeather();
updateUI(weatherData); //<==it's this line
},
weather.getLocationWeather()
返回类型为Future的变量
void updateUI(Future<dynamic> weatherDataFuture) async {
final weatherData = await weatherDataFuture;
然后继续解析生成的天气数据。它在程序的前面被调用,并按预期工作。我确信这个问题与我永无止境但仍在继续的理解异步编程的战斗有关:-)
获取数据的返回值需要进行转换。我建议在flutter留档中查看JSON教程。
FlatButton(
onPressed: () async {
var weatherData = Map<String, dynamic>.from(await weather.getLocationWeather());
updateUI(weatherData); //<==it's this line
},
void updateUI(Map<String, dynamic> weatherData) async {
...
=====基于评论的编辑=====
FlatButton(
onPressed: () async {
var weatherData = SynchronousFuture(Map<String, dynamic>.from(await weather.getLocationWeather()));
updateUI(weatherData); //<==it's this line
},
void updateUI(Future<Map<String, dynamic>> weatherData) async {
...
试试这个:
final weatherData;
Future<Map<String, dynamic>> weatherDataFuture async{
return weather.getLocationWeather();
}
FlatButton(
onPressed: () {
weatherDataFuture.then((value){
weatherData=value.values;
});
}
)
等待weather.getLocationWeather()
获取由getLocationWeather
返回的未来,并等待它完成为值。该值是一个映射。
然后使用该映射值调用updateUI
,即使它期望未来。变量类型为dynamic
,因此不会收到静态警告,只会收到一个运行时错误。
onPressed: () async {
var weatherData = await weather.getLocationWeather();
updateUI(weatherData); //<==it's this line
尝试删除wait
。那么weatherData
将是的未来
我正在尝试从服务器获取json数据
虽然这个问题已经被问了几次,但我没有从我看到的那些人那里得到帮助。所以就这样, 我有一个模拟json文件在我的资产文件夹: 这是: 这里是: 如您所见,我希望在页面加载后立即获取数据,并将所述数据保存在列表中,然后可以在中使用。但每次加载屏幕时,我都会出现以下错误: 我接着看了一些教程,完全忽略了与我不想要的模型相关的任何东西。我错过了什么?我需要做什么才能在一个列表中得到结果,然后在网格视图中使
这里是我转换json响应的地方,我只想获取一些响应并在我的应用程序上显示, 错误消息 Json回应: PNLDATA类
我正在构建一个颤振应用程序,我必须解析api中的一些数据,我设置了所有内容,但我收到了这个错误,我不知道为什么,我是颤振新手,任何帮助都将不胜感激。谢谢。 生成的错误 这是我的api响应示例 这就是我处理数据的方式 这是模型课
我试图从Web API获取数据,我使用此方法获取: 我得到这个错误: 在这方面:
我正在开发我的flutter应用程序的身份验证。请帮我解决这个问题。我无法识别返回这样一个错误的问题,声明未处理异常:类型列表不是类型字符串的子类型。 以下是登录屏幕的代码: 执行登录的上述代码部分: 错误