【问题标题】:Iterating through http response Angular2遍历http响应Angular2
【发布时间】:2016-02-19 09:55:14
【问题描述】:

所以我对 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())
  }

}

【问题讨论】:

  • 记录的错误是什么?
  • 发布错误日志或错误说明。
  • 还显示getAuth方法代码..应该有返回observable对象。
  • 记录的错误是来自error =&gt; console.log("error")的错误
  • 错误是“错误”:D,但我希望如果 http 调用订阅遇到错误,这意味着来自网络调用的响应代码不是 200。检查网络选项卡并查看如果任何请求失败

标签: javascript angular observable


【解决方案1】:

我认为您正在推送到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&lt;any&gt; 只是告诉TypeScript 有一个member 属性应该是Array 类型,但它不会为你创建属性。

【讨论】:

    猜你喜欢
    • 2016-02-29
    • 2017-11-19
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    相关资源
    最近更新 更多