gpt4 book ai didi

angular - 当我发出两个并行的 http 请求时没有得到数据

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:31 25 4
gpt4 key购买 nike

在 Angular 2 中,我正在使用多项服务,但我无法在第二个 API 的订阅功能中从第一个 Api 获取数据,所以请给我建议合适的答案。

最佳答案

就像 2 个异步 HTTP 请求一样简单。当第一个请求触发时,在获得响应之前它会触发第二个请求。

在 Angular 中,它以相同的方式发生。为了避免这种情况,angular 引入了 ForkJoin:

enter image description here

fork-join 用于同时创建多个 HTTP 请求,并在收到所有请求的响应后调用最终的订阅方法。

    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;
}

这里,同时发起了两个请求,在订阅回调中,您将获得所有响应的数组。

关于angular - 当我发出两个并行的 http 请求时没有得到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48760083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com