【发布时间】:2021-08-24 09:01:04
【问题描述】:
我正在尝试执行 API 调用,但遇到错误,必须分配空安全变量。
这是我的代码
Future<LoginResponseModel> loginCustomer(
String username, String password) async {
LoginResponseModel model;
try {
var response = await Dio().post(Config.tokenURL,
data: {
"username": username,
"password": password,
},
options: Options(headers: {
HttpHeaders.contentTypeHeader: "application/x-www-form-urlencoded",
}));
if (response.statusCode == 200) {
model = LoginResponseModel.fromJson(response.data);
}
} on DioError catch (e) {
print(e.message);
}
return model;
}
出现异常
必须先分配不可为空的局部变量“model”,然后才能分配 使用。尝试给它一个初始化表达式,或者确保它是 分配在每个执行路径上。dart (not_assigned_potentially_non_nullable_local_variable)
有没有办法解决这个问题
试过“?”它不工作。
【问题讨论】:
-
您不会沿所有可能的代码路径初始化
model。您必须沿所有代码路径对其进行初始化(例如,如果response.statusCode != 200或DioError被捕获),或者必须使model可以为空并且必须修复返回类型以匹配。跨度>
标签: flutter api dart dart-null-safety