[英]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.