【发布时间】:2020-07-19 13:24:32
【问题描述】:
我在 Angular 服务中编写了一个登录函数,它返回一个 observable。我想拦截流,获取值并设置为变量而不订阅。我尝试使用管道和地图运算符但没有工作。最好的方法是什么?
import { Observable, of } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { map } from 'rxjs/operators';
@Injectable({
providedIn: 'root',
})
export class AppService {
signInUrl: string = 'http://localhost:3000/api/v1/users/login';
user: any;
constructor(private _http: HttpClient) {}
getUser(): Observable<any> {
return of(this.user);
}
signIn(obj): Observable<any> {
return this._http.post(this.signInUrl, obj).pipe(
map((u) => {
this.user = u;
})
);
}
logOut(): void {
this.user = null;
}
}
【问题讨论】: