angular - Data hämtas inte när jag skickar två parallella http-förfrågningar
I Angular 2 använder jag flera tjänster men jag kan inte få data från första API:et i subscribe-funktionen för det andra API:et, så vänligen föreslå det lämpliga svaret.
Svar #1
Det är så enkelt som 2 asynkrona HTTP-förfrågningar. När den första förfrågan startar, innan den får ett svar, startar den den andra.
I Angular händer det på samma sätt. För att undvika denna situation introducerade Angular ForkJoin:
Fork-join används för att skapa flera HTTP-förfrågningar samtidigt och efter att ha fått ett svar från alla dem kallar det en slutlig subscribe-metod.
Observable.forkJoin(
this.http.post(glob.BASE_API_URL_HOTEL + "hotel/getRoomType?hotelCode=" + this.hotel,{}).map(res => res.json()),
this.http.get(glob.BASE_API_URL_HOTEL + "hotel/getBedType").map(res => res.json())
).subscribe((data)=>{
this.roomType = data[0].data;
this.getBedType = data[1].data;
}
Här initieras två förfrågningar samtidigt och i subscribe-callbacken får du en lista med alla svar.
