类型“可观察的未知”是指类型“可观察的未知”。不能分配给类型“Observable<{token:string;” }>”。点击错误
添加令牌
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
import { User } from './interfaces';
@Injectable()
export class AuthService {
private token = null
constructor(private http: HttpClient) {
}
login(user: User): Observable<{token: string}> {
return this.http.post<{token: string}>('/api/auth/login', user)
.pipe(tap(({token}) => {
localStorage.setItem('auth-token', token)
this.setToken(token)
}))
}
setToken(token: string) {
this.token = token
}
}
我正在尝试通过 .pipe 方法links.ts
export interface User {
email: string,
password: string
}
一切都可以使用此代码
login(user: User): Observable<{token: string}> {
return this.http.post<{token: string}>('/api/auth/login', user)
}
当我尝试通过 .pipe 方法 tap 添加令牌时,出现错误
The type "Observable<unknown>" cannot be assigned to the type "Observable<{token:string; }>".
The "token" property is missing in the "{}" type and is mandatory in the "{token: string; }" type.ts(2322)
.pipe 中的任何添加的方法(tap、map 和其他)一旦我从“rxjs/operators”导入它们,就会出现此错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
很奇怪你收到这个错误并且我无法重现它,但这应该可以解决你的问题:
it's very strange that you get this error and i can't reproduce it, but this should fix your problem: