[英]TypeScript error in angular: A function whose declared type is neither 'void' nor 'any' must return a value
[英]A function whose declared type is neither 'void' nor 'any' must return a value Angular
之前使用 observable 类工作正常时出现此错误
login(userId: string, userPassword: string): Observable<User> { >>> I am getting error here
this.http.post(this.Url,'/' + {userId} + '/' + {userPassword})
.pipe(map(user => {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify(user));
this.currentUserSubject.next(user);
return user;
}));
}
这是界面
export interface User {
success:string
userId:string
userPassword:string
token?: string
}
您错过了此之前的return
this.http.post
并使用tap
login(userId: string, userPassword: string): Observable<User> {
return this.http.post(this.Url,'/' + {userId} + '/' + {userPassword})
.pipe(tap(user => {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify(user));
this.currentUserSubject.next(user);
}));
}
两个变化
类型转换用户
返回 Observable
login(userId: string, userPassword: string): Observable<User> { return this.http.post(this.Url,'/' + {userId} + '/' + {userPassword}) .pipe(map(user => { // store user details and jwt token in local storage to keep user logged in between page refreshes localStorage.setItem('currentUser', JSON.stringify(user)); this.currentUserSubject.next(user); return (user as User); })); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.