将查询结果存储在本地变量中,并在Angular中发送相同的确认



我的节点服务器正在给我一个查询结果的响应,我想将该查询结果存储在我的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将结果映射为定义的键和值对。

希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新