小编Moh*_*uik的帖子

循环内多次通话

我是Angular的新手,所以我需要一些帮助,我的问题是打电话给http get,我使用service是我的第一个get

我的第一项服务

 getFirstData() { return this.http.get<FirstDataResults ('http://myurl.com/api/Classes/ads', httpOptions);    
Run Code Online (Sandbox Code Playgroud)

我的组件TS文件

this.data.getFirstData().subscribe(
  data => {
    this.firsobjects = data.results;
  },
  err => console.error(err),
  () => this.getComplementData(this.firstobjects)

);
Run Code Online (Sandbox Code Playgroud)

到现在为止,一切都很好,可以获取我的数据,完成后,我运行第二个函数getComplementData

我的第二次服务

 getSecondData(idFirstObject: String) {

return this.http.get<ComplementDataResults>(
  'http://myurl.com/api/Classes/Complement?' +
  'where={'"idFirstObject":"' + idFirstObject + '"}',
  httpOptions); }   
Run Code Online (Sandbox Code Playgroud)

我的组件TS文件

getComplementData(firsobjects) {
this.number = 0;
for (var _i = 0; _i < firsobjects.length; _i++) {
  this.data.getSecondData(firsobjects[_i].id).subscribe(
    (data) => {
        var a = (data.results);
        this.firsobjects[this.number].complements = a;
    }, err => console.log('error ' + err),
    () => console.log('Ok ')
  ); …
Run Code Online (Sandbox Code Playgroud)

angular angular-httpclient angular4-httpclient angular5 angular6

0
推荐指数
1
解决办法
1672
查看次数