Не удается получить данные из общего сервиса, который зависит от Websocket - PullRequest
0 голосов
/ 24 ноября 2018

При загрузке компонента я вызываю функцию веб-сокета, которая запрашивает у сервера список символов

Компонент меню ->

constructor(private router: Router, public shared: SharedService, private wss: WebsocketService) {
    this.wss.emitGetCharacters();
}

Служба веб-сокетов ->

// Get Character List
public emitGetCharacters(): any {
    if (!this.socket) {
        this.initSocket();
        this.socket.emit('getCharacters', this.idUser);
    } else {
        this.socket.emit('getCharacters', this.idUser);
    }
}

Затем сервер возвращает символы правильно в сервисе websocket, который использует общий сервис для хранения списка символов

    this.socket.on('characterList', (res) => {
        this.shared.setCharacters(res);
    });

Затем в ngOnInit из моего компонента меню я пытаюсь получить символы, используяобщая функция

public getCharacters() {
    return this.characters;
}

Это возвращает неопределенное значение

Я знаю, что это связано с Observables и RxJS, но я читал, и я не могу понять, как реализовать это в этом случае

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