我的节点服务器正在给我一个查询结果的响应,我想将该查询结果存储在我的Angular Service的本地变量(电影(中,并将确认消息({"result":true}(传递给询问的Angular组件。
redirect(id){
this.movie.getMovie(id).subscribe( confirmation =>{
if(confirmation.result) this.router.navigate(["/movies/movDetails"]);
});
}
这是我的角组件
getMovie(id):Observable<any>{
return this.http.post("http://localhost:3000/getMovie",{ "_id":id }).subscribe(IncomingValue => this.movie = IncomingValue).pipe(map( return {"result":true} ));
}
服务组件
检索数据时,通常使用get
,而不是post
。这就是我的一个简单得到的样子:
getProducts(): Observable<IProduct[]> {
return this.http.get<IProduct[]>(this.productUrl);
}
正在使用您的代码。。。然后,您可以使用RxJS管道运算符来执行其他操作:
getMovie(id):Observable<any>{
return this.http.post("http://localhost:3000/getMovie",{ "_id":id })
.pipe(
tap(IncomingValue => this.movie = IncomingValue),
map(() => {return {"result":true}} )
);
}
第一个可管道化操作符tap将传入值存储在本地属性中。
第二个可管道化操作符map将结果映射为定义的键和值对。
希望这能有所帮助。