遍历 http 响应 Angular2

Iterating through http response Angular2

所以我是 Angular2 的新手,尝试遍历 http 响应我有点卡住了。使用以下代码:

  ngOnInit() {
    this._meetService.getAuth( "meets/"+ this.meetId + "/participants").subscribe(
      meet => {
        this.participants = meet.participants;
        this.organizators = meet.organizators;
        console.log(this.participants);
      },
      error => console.log("error")
    )
  }

我在 this.participantsthis.organizators 中都得到了值,但具有以下值:

  ngOnInit() {
    this._meetService.getAuth("meets/"+ this.meetId + "/participants").subscribe(
      meet => {
        meet.participants.forEach(participant => this.members.push(participant));
        meet.organizators.forEach(organizator => this.members.push(organizator));
        console.log(this.members);
      },
      error => console.log("error")
    )
  }

我收到错误记录。这怎么可能?

这里是 getAuth() 方法:

@Injectable()
export class MeetService {
  constructor(private http: Http, public api: ApiConfig, private _routeParams: RouteParams) {}

  getAuth(path: string) {
    var auth = this.api.headers();
    auth.append("X-Auth-Key", "azertyuiop...");
    return this.http.get(this.api.getPath(path), {headers: auth})
      .map(res => <any> res.json())
  }

}

我认为您正在推动 this.members,即 undefined。先尝试初始化

ngOnInit() {
    this._meetService.getAuth("meets/"+ this.meetId + "/participants").subscribe(
      meet => {
        this.members = [];
        meet.participants.forEach(participant => this.members.push(participant));
        meet.organizators.forEach(organizator => this.members.push(organizator));
        console.log(this.members);
      },
      error => console.log("error")
    )
  }

设置 members: Array<any> 只是告诉 TypeScript 有一个 member 属性 应该是 Array 类型,它不会为 属性 创建你虽然。