WebSocket подключается только при отладке, иначе застревает при подключении

При попытке подключиться к серверу WebSocket с помощью машинописного текста и простой функции:

export class WebRTCConnection {

  private ws: WebSocket;

  //...

  public initWebSocket(url: string) {
     this.ws = new WebSocket(url);
  }

  //...
}

WebSocket застрянет в состоянии CONNECTING.

Для объекта WebSocket не заданы никакие другие свойства.

Когда я ставлю точку останова на строку new WebSocket(url) в своем браузере и перешагиваю через нее, WebSocket будет нормально подключаться.

Эта проблема появлялась во всех протестированных мной браузерах (Firefox, Chrome, Edge).

Почему WebSocket не подключается в обычном режиме? Он будет работать с использованием того же URL-адреса, что и в коде при создании WebSocket из консоли.


person flwd    schedule 23.03.2019    source источник


Ответы (1)


Когда вы вызываете функцию initWebSocket по сравнению с инициализацией? Это может быть так же просто, как когда вы ставите точку останова, вы позволяете другим процессам завершиться вовремя. Таким образом, (плохим) решением было бы поместить инициализацию в timeout?

person Tobin    schedule 23.03.2019
comment
Функция вызывается после события DOMContentLoaded (этот проект не использует jquery). Страница должна быть готова. - person flwd; 23.03.2019