Поля доступа MessageEvent - PullRequest
0 голосов
/ 01 июня 2018

У меня есть приложение внешнего интерфейса Angular 6, которое связывается через Websocket с моим бэкэндом.

Когда я отправляю запрос на вход в систему, мой бэкэнд возвращает объект 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));
  }

Как я могу отобразить, например, только поле "тип" или "значение"?

Я уже пытался перебрать его с помощью цикла for, но я получаю только отдельные буквы.

Большое спасибо.

1 Ответ

0 голосов
/ 01 июня 2018

сделайте это вроде:

interface BackendResponse {

  type: string;
  value: string[];
}

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

Это должно привести вас на правильный путь =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...