我的服务代码是:
booking_type()
{
return this.http.get('https://booking.beglammed.com:3001/api/customer /getAreaCategoryDetails');
}
services_detail()
{
return this.http.get('https://booking.beglammed.com:3001/api/customer/getAreaCategoryDetails');
}
我将其订阅为组件,组件代码为
ngOnInit() {
this.alldata.services_detail().subscribe( (response : Response )=>
{
let data = response.json();
this.ServicesArea = data.data.servingAreas;
}
);
this.alldata.booking_type().subscribe( (response : Response )=>
{
let data = response.json();
this.Bookings_detail = data.data.homeScreenData;
}
);
}
现在,我使用提取booking_id和aboret_id。现在,我需要在我想致电的下一个API中传递这些 value able_id和booking_id 。那么我该如何在服务中使用这些值,因为我在服务中调用了下一个API。 为什么不在组件中简单。 然后,在您的服务中,您有两个选项使用getter ir呼叫API调用。API看起来像 或使用MEHOD 您可以使用 喜欢这个let data = response.json();
this.ServicesArea = data.data.servingAreas;
this.alldata.setServicesArea(this.ServicesArea);
}
);
this.alldata.booking_type().subscribe( (response : Response )=>
{
let data = response.json();
this.Bookings_detail = data.data.homeScreenData;
this.alldata.setBookings_detail(this.Bookings_detail);
}
this.http.get(https://booking.beglammed.com:3001/api/books/${this.getBookings_detail()}/${(this.getServicesArea()}
,请确保使用`作为引号而不是正常。不能像普通原因那样做stackoverflow混乱,然后使用相同的报价显示代码样式... http angular get示例getBooks(servicesArea: any, bookings_detail: any)
。如果需要在同一个呼叫中相同的值,请将您的第二个呼叫放入另一个呼叫中。Observable forkJoin
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/forkJoin';
ngOnInit() {
Observable.forkJoin([this.alldata.services_detail(), this.alldata.booking_type()]).mergeMap((data:any[]) => {
this.ServicesArea = data[0].data.servingAreas;
this.Bookings_detail = data[1].data.homeScreenData;
//Here you can do whatever you want, bevor you request SomeData4
return this.alldata.yournewmethod(this.ServicesArea, this.Bookings_detail); // pass the values to a new service method
}).subscribe((data) => {
console.log(data); // your data
});
}