如何使最终的本地变量不可废?
下面的代码产生错误字符串? 即使我添加了该行以确保PERF不为null,也无法分配给参数类型“字符串”
Some function() {
try{
...
final userData;
userData = json.encode({'token': _token, 'userId': user_Id, "expiryDate": _expiryToken });
prefs.setString("userData", userData);
} catch (error) {
throw error;
}
}
Future<bool>tryAutoLogin() async{
final prefs = await SharedPreferences.getInstance();
if (!prefs.containsKey('userData')){
return false;
}
final extractedUserData;
if (prefs != null){
extractedUserData = json.decode(prefs.getString("userData")) as Map<String, Object>;
final expiryDate = DateTime.parse(extractedUserData['expiryDate']);
if(expiryDate.isAfter(DateTime.now())){
return false;
}
_token = extractedUserData['token'] as String?;
user_Id = extractedUserData['userId'] as String?;
_expiryToken = extractedUserData['expiryDate'] as DateTime?;
return true;
}
return false;
}
行JSON解码会产生错误。问题是什么?
The code below produces the error String? cannot be assigned to the parameter type 'String'
Some function() {
try{
...
final userData;
userData = json.encode({'token': _token, 'userId': user_Id, "expiryDate": _expiryToken });
prefs.setString("userData", userData);
} catch (error) {
throw error;
}
}
Future<bool>tryAutoLogin() async{
final prefs = await SharedPreferences.getInstance();
if (!prefs.containsKey('userData')){
return false;
}
final extractedUserData;
if (prefs != null){
extractedUserData = json.decode(prefs.getString("userData")) as Map<String, Object>;
final expiryDate = DateTime.parse(extractedUserData['expiryDate']);
if(expiryDate.isAfter(DateTime.now())){
return false;
}
_token = extractedUserData['token'] as String?;
user_Id = extractedUserData['userId'] as String?;
_expiryToken = extractedUserData['expiryDate'] as DateTime?;
return true;
}
return false;
}
The line where there is decoding of json produces the error even after i added the line to make sure prefs is not null. What is the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论