javascript - 遍历 http 响应 Angular2

标签 javascript angular observable

所以我是 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 类型的属性,但它不会为您创建属性。

关于javascript - 遍历 http 响应 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502305/

相关文章:

javascript - 单击主体上的任意位置即可执行功能 : directive

javascript - Angular 7 动画导致 webkit 浏览器上的 z-index 重叠问题

html - 如何在 Flex 容器中对齐正确的元素

angular - 在 Angular 4 的 canactivate guard 中返回 observable inside observable

javascript - 获取包含换行符的文本值

javascript - 将组合框中的第一个值设置为空

Javascript添加监听器错误: TypeError: trigger. addEventListener不是函数

Angular 2 多模块

angular - 如果满足条件,稍后使用 takeUntil 取消订阅

javascript - 仅在特定条件下触发 RXJS Stream