我在从服务器获取数据时遇到了以下错误,但我知道这个错误与我如何获取数据无关。它与最新flutter更新中添加的空值安全有关。我对它并不熟悉。
以下是错误enter image description here
我试着检查突出显示的行是否有问题,对我来说还可以。
下面是servers_http.dart的代码:
ApiResponse<Map<String, dynamic>> resp = await get<Map<String, dynamic>>("detail/random");
if (resp.success ?? false) {
return StarConfig.fromJson(resp.data!);
}
return null;
}```
**and this stars_provider.dart**
```///Initialize engine and load last server
void initialize(BuildContext context) {
engine = OpenStar(onStarStageChanged: onStarStageChanged, onStarStatusChanged: onStarStatusChanged)
..initialize(
lastStatus: onStarStatusChanged,
lastStage: (stage) => onStarStageChanged(stage, stage.name),
groupIdentifier: groupIdentifier,
localizedDescription: localizationDescription,
providerBundleIdentifier: providerBundleIdentifier,
);
Preferences.instance().then((value) async {
starConfig = value.getServer() ?? await ServersHttp(context).random();
notifyListeners();
});
}```
what I need to change?
1条答案
按热度按时间toe950271#
溶液1:
据我所知,您正在使用从服务器请求数据
如果是,您需要做的就是将其更改为:
溶液2:
我认为这个函数是问题所在,
starConfig
不接受null
,根据您的代码:当他唯一的任务是返回
ApiResponse<Map<String, dynamic>>
时,这个部分返回null
现在这个我相信这个会有用的如果你
**注意:**我不知道
ServersHttp(context).random()
是做什么的。