MessageEvent 的访问字段

Access fields of a MessageEvent

我有一个 Angular 6 前端应用程序,它通过 Websocket 与我的后端通信。

当我发送登录请求时,我的后端 returns 一个 JSON 对象

{"type":"LoggedIn","value":{"email":"1@1.de","id":9,"name":"1"}}

我现在尝试阅读那里的字段,但我看不到允许我这样做的方法。

到目前为止,我可以使用该功能显示整个后端消息:

  this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
      console.log('message: ' + message.data);
    });

receiveEvents(完整性原则):

 /**
   * TODO: Implement a paramemter that allows this method to return an Observable
   * TODO: with a filter for relevant events for the calling functions
   * @returns {Observable<Object>}
   */
  receiveEvents(relevantEvent): Observable<Object> {
    return this._subject.asObservable().pipe(filter((event: Event) => event != null));
  }

我如何才能仅显示 "type" 或 "value" 字段?

我已经尝试用 for 循环对其进行迭代,但我只收到单个字母。

非常感谢。

这样做:

interface BackendResponse {

  type: string;
  value: string[];
}

this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
  const obj: BackendResponse = JSON.parse(message.data);
  console.log(obj.type);
});

这应该会让您走上正确的道路 =)