Angular 订阅可观测响应阵列中的多个可观测数据6

Angular 订阅可观测响应阵列中的多个可观测数据6,angular,Angular,我是angular和rxjs领域的新手,我想实现以下目标, [卡片 我有两个角度服务,返回一个可观察的响应 当我订阅第一个服务时,它返回一个3个站点URL的数组,考虑RES(3)= [XYZ.com,ABC.com,PQR.COM] 接下来,我需要通过传递上述接收到的URL来查询第二个服务,以从每个站点获取详细信息 最后,我应该从我的第一个服务中收到响应,并从第二个服务中获得每个站点的相关详细信息 像 xyz.com-> 访问用户, 访问过的用户名, 点击次数, 等等 abc.com-> 访问

我是angular和rxjs领域的新手,我想实现以下目标, [卡片

我有两个角度服务,返回一个可观察的响应

当我订阅第一个服务时,它返回一个3个站点URL的数组,考虑RES(3)= [XYZ.com,ABC.com,PQR.COM]

接下来,我需要通过传递上述接收到的URL来查询第二个服务,以从每个站点获取详细信息

最后,我应该从我的第一个服务中收到响应,并从第二个服务中获得每个站点的相关详细信息

xyz.com-> 访问用户, 访问过的用户名, 点击次数, 等等

abc.com-> 访问用户, 访问过的用户名, 点击次数, 等等

pqr.com-> 访问用户, 访问过的用户名, 点击次数, 等等

任何帮助都将不胜感激


谢谢C

服务1:

import { HttpClient } from '@angular/common/http';

@Injectable()
export class Services1 {
   constructor(private http: HttpClient){}

   getSitesList(): Observable<any>{
       return this.http.get('https://url')
         .map(data => {
            console.log(data);
         });
    }
}
import { HttpClient } from '@angular/common/http';

@Injectable()
export class Services2 {
   constructor(private http: HttpClient){}

   getSitesDetailsList(sites): Observable<any>{
       const observableBatch = [];
       sites.forEach((siteName)=> {
           if (siteName) {
              observableBatch.push(this.getSitesDetails(siteName));
           }
       });
       return Observable.forkJoin(observableBatch);

    }

   getSitesDetails(name): Observable<any>{
       return this.http.get('url/name')
         .map(data => {
            console.log(data);
         });
    }
}
从'@angular/common/http'导入{HttpClient};
@可注射()
导出类服务1{
构造函数(私有http:HttpClient){}
getSitesList():可观察{
返回此.http.get('https://url')
.map(数据=>{
控制台日志(数据);
});
}
}
服务2:

import { HttpClient } from '@angular/common/http';

@Injectable()
export class Services1 {
   constructor(private http: HttpClient){}

   getSitesList(): Observable<any>{
       return this.http.get('https://url')
         .map(data => {
            console.log(data);
         });
    }
}
import { HttpClient } from '@angular/common/http';

@Injectable()
export class Services2 {
   constructor(private http: HttpClient){}

   getSitesDetailsList(sites): Observable<any>{
       const observableBatch = [];
       sites.forEach((siteName)=> {
           if (siteName) {
              observableBatch.push(this.getSitesDetails(siteName));
           }
       });
       return Observable.forkJoin(observableBatch);

    }

   getSitesDetails(name): Observable<any>{
       return this.http.get('url/name')
         .map(data => {
            console.log(data);
         });
    }
}
从'@angular/common/http'导入{HttpClient};
@可注射()
导出类服务2{
构造函数(私有http:HttpClient){}
getSitesDetailsList(站点):可观察{
const observebatch=[];
sites.forEach((siteName)=>{
如果(站点名称){
observebatch.push(this.getSitesDetails(siteName));
}
});
返回Observable.forkJoin(observableBatch);
}
getSitesDetails(名称):可观察{
返回此.http.get('url/name')
.map(数据=>{
控制台日志(数据);
});
}
}

它在某种程度上帮助我实现了我的要求。谢谢