在我的Angular-11中,我有这样的代码:
user(){
const data = localStorage.setItem('user', JSON.stringify(this.user));
if (data != null && data!='undefined') {
return data;
}
this.api.get('auth/user', this.header).subscribe(
// tslint:disable-next-line:no-shadowed-variable
data => { this.dataHandler(data) },
error => { console.log(error) }
);
}
但我得到了这个错误:
由于类型"void"one_answers"string"没有重叠,因此此条件将始终返回"true"。ts(2367(
然后突出显示:
if(data!=null&&data!='未定义'({
如何解决?
感谢
您必须注意,localStorage.setItem()
函数没有返回值,const data
用undefined
赋值。
const data = localStorage.setItem('user', JSON.stringify(this.user)); // sets data as undefined always
if (data != null && data!='undefined') { // data !='undefined' => undefined != 'undefined' will always return true
return data;
}