属性 'subscribe' 在类型 'void' 上不存在。 Angular 13版本
Property 'subscribe' does not exist on type 'void'. Angular 13 version
当我尝试使用订阅时出现以下错误。请帮我解决这个错误
userLogin(){
this.authService.userLogin(this.loginData)
.subscribe ((value:boolean)=> {
if(value){
this.route.navigate(['/dashboard']);
}
else
{
alert('failed')
}
},error=>{
alert('failed')
})
}
这是authService.userLogin功能代码。我认为这个功能代码没有任何错误
userLogin(userPayLoad: { username: string; password: string; }):Observable<boolean>{
return this.http.post("http://localhost:3000/auth/login", userPayLoad)
.pipe(
map( (value:any )=>{
if(value){
localStorage.setItem("access_token",value.access_token);
localStorage.setItem("refresh_token",value.refresh_token);
const decryptedUser= this.jwtHelper.decodeToken(value.access_token);
console.log(decryptedUser);
const data={
access_token:value.access_token,
refresh_token:value.refresh_token,
username:decryptedUser.username,
userid: decryptedUser.sub,
tokenExpiration:decryptedUser.exp,
};
this.userInfo.next(data);
return true;
}
return false;
})
)
}
您可以 return of(true) 或 of(false) 到 return observable,请检查
当我尝试使用订阅时出现以下错误。请帮我解决这个错误
userLogin(){
this.authService.userLogin(this.loginData)
.subscribe ((value:boolean)=> {
if(value){
this.route.navigate(['/dashboard']);
}
else
{
alert('failed')
}
},error=>{
alert('failed')
})
}
这是authService.userLogin功能代码。我认为这个功能代码没有任何错误
userLogin(userPayLoad: { username: string; password: string; }):Observable<boolean>{
return this.http.post("http://localhost:3000/auth/login", userPayLoad)
.pipe(
map( (value:any )=>{
if(value){
localStorage.setItem("access_token",value.access_token);
localStorage.setItem("refresh_token",value.refresh_token);
const decryptedUser= this.jwtHelper.decodeToken(value.access_token);
console.log(decryptedUser);
const data={
access_token:value.access_token,
refresh_token:value.refresh_token,
username:decryptedUser.username,
userid: decryptedUser.sub,
tokenExpiration:decryptedUser.exp,
};
this.userInfo.next(data);
return true;
}
return false;
})
)
}
您可以 return of(true) 或 of(false) 到 return observable,请检查