【发布时间】:2021-11-21 01:56:32
【问题描述】:
我有以下代码:
class Auth with ChangeNotifier {
String? _token;
DateTime? _expiryDate;
String? _userId;
Timer? _authTimer;
String? get token {
if (_expiryDate != null &&
_expiryDate.isAfter(DateTime.now()) &&
_token != null) {
return _token;
}
return null;
}
Future<void> logout() async {
_token = null;
_userId = null;
_expiryDate = null;
if (_authTimer != null) {
_authTimer.cancel();
_authTimer = null;
}
notifyListeners();
final prefs = await SharedPreferences.getInstance();
// prefs.remove('userData');
prefs.clear();
}
}
还有以下错误:
方法“isAfter”不能被无条件调用,因为 接收者可以为“空”。尝试使呼叫有条件(使用'?.') 或向目标添加空检查 ('!')。
不能无条件调用“取消”方法,因为 接收者可以为“空”。尝试使呼叫有条件(使用'?.') 或向目标添加空检查 ('!')。
如何修复此错误消息?
【问题讨论】:
标签: flutter null non-nullable