Простой интернет-магазин Django и Angular./ Уведомления по веб-сокетам.

Создадим сервис под веб-сокет соединение.

Определяем переменную socket и отрабатываем функцию прихода сообщения на клиент.

При этом мы генерируем событие в подписной объект this.updater$.next(message)

Добавим сервис в главный модуль.

В компоненте подпишемся и обновим список уведомлений.

Определим в настройках CHANNEL_LAYERS.

ng g s socket
import { Injectable } from '@angular/core';
import { environment } from './../environments/environment';

import { ReplaySubject } from 'rxjs';


@Injectable({
  providedIn: 'root'
})
export class SocketService {

  private socket: any;

  public updater$ = new ReplaySubject();


  constructor() {

    this.socket = new WebSocket(`${environment.socketUrl}/market`);
    this.dispatcher();
   }


   dispatcher(): void {
     this.socket.onmessage = (event) => {
       const message = JSON.parse(event.data);

      if(message.action === 'update_notify') {
        this.updater$.next(message);
      }

     }
   }
}
Потратить 2 кредита и начать обучение! У вас кредитов(а)
Задать вопрос, прокомментировать.