Не удалось установить угловое гнездо - PullRequest
0 голосов
/ 08 марта 2019

Я использую socket.io-client и @types/socket.io-client. Иногда розетка отключается автоматически. Мне нужно повторить код, когда мое соединение с сокетом не удалось.

Вот мой пример кода.

import { Injectable } from '@angular/core';
import { StorageService } from '@app/services';
import { ToastrService } from 'ngx-toastr';
import { BehaviorSubject, Observable } from 'rxjs';
import * as io from 'socket.io-client';

import { WSUrl } from './../app.constants';

@Injectable({
  providedIn: 'root'
})
export class ChatService {
  private url = WSUrl;
  private socket;

  constructor(private toastr: ToastrService, private storage: StorageService) {
    // Get access token from local storage
    const token = this.storage.getItem<string>('token');

    // For socket connection
    this.socket = io(this.url, {
      query: 'token=' + token
    });

    // Socket connection successfully made
    this.socket.on('connect', () => {
      console.log('Connection Made.');
      this.socket.emit(
        'join',
        {
          login_token: token
        },
        data => {
          console.log('join', data);
          if (data.code === 400) {
            this.toastr.error('Something went wrong.');
            return false;
          }
        }
      );
    });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...