【发布时间】:2023-03-16 22:17:01
【问题描述】:
此方法始终运行。我检查了API。如果 API 值更改,我将删除我的数据库并再次插入。这是像这种情况下使用的正确方法吗? (可以使用streamWidget还是FutureWidget?如果可以怎么办?)
错误信息:
[错误:flutter/lib/ui/ui_dart_state.cc(148)] 未处理的异常: RangeError(索引):无效值:有效值范围为空:0
checkQuick(String url, String token) async {
result =
(await HelperDatabase1().displayGetUserPreference()).elementAt(0)?.data;
final response = await http.get(
'$url/nativeapi/v1.0/User/GetUserPreference',
headers: {'Authorization': 'Bearer $token'},
);
final jsonResponse = json.decode(response.body);
GetUserPreference model = GetUserPreference.fromJson(jsonResponse);
var data = GetUserPreference(data: model.data);
if (result != data.data) {
await HelperDatabase1().deleteGetUserPreference();
await HelperDatabase1().storeGetUserPreference(url, token);
}
}
【问题讨论】:
-
看起来
displayGetUserPreference正在返回一个空列表 -
是的。你说的对。如何正确处理空值?