flutter - api调用颤动期间如何处理空安全?
问题描述
我正在尝试执行 API 调用,其中出现错误以挂起 null 安全变量必须分配。
这是我的代码
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;
}
异常得到
必须先分配不可为空的局部变量“模型”,然后才能使用它。尝试给它一个初始化表达式,或者确保在每个执行路径上都分配了它。dart (not_assigned_potentially_non_nullable_local_variable)
有什么解决方案来处理这个
试过“?” 它不工作。
解决方案
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;
}
推荐阅读
- python - SSL:在 Python 3.8 上运行时的 CERTIFICATE_VERIFY_FAILED。适用于其他版本的python
- django - 来自 django.db.models.query.QuerySet 的列
- html - 如何将单词的边框底部定位到其容器的底部?
- javascript - 验证来自 formBuilder 的 OnInit 的信息
- matlab - 如何评价插值的质量?
- html - Rails 数据库错误和显示的消息不正确 - Upskill 在线课程
- javascript - Typescript获取构造函数的每个参数的类型构造函数
- scala - 找不到 PlayScala(Heroku 教程)
- vector - 试图修改 Rc 内的期货 Vec
> - unity3d - 从 Blender 导出后在 Unity 中撕裂的对象