Почему мой вызов .listen из эха Laravel не работает в моем интерфейсе Angular?

Я пишу код внешнего интерфейса, который пытается прослушивать веб-сокет, используя Pusher и laravel. Однако я не могу запустить событие прослушивания.

Я получаю информацию о веб-сокете на странице:

URL запроса: ws://localhost:6001/app/someKey?protocol=7&client=js&version=4.4.0&flash=false

Вот вывод веб-сокета в браузере, когда я запускаю новое событие:

channel: "chat"
data: "{"user":{"id":1,"name":"1","email":"1","balance":"79558.76450989","default_leverage":"20","used_margin":"3074.6057739400","email_verified_at":null,"is_fake":"yes","created_at":"2019-03-07 11:47:22","updated_at":"2019-04-08 10:54:02"},"message":{"id":82,"user_id":1,"group_id":1,"text":"test text here","created_at":"2019-04-08 10:55:21","updated_at":"2019-04-08 10:55:21"}}"
event: "App\Events\MessageSent" 

Вот мой код ts (ionic-v4):

import { Injectable } from '@angular/core';
import {Echo} from 'laravel-echo-ionic';

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

  echo:any;

  constructor( ) {
    console.info("Pusher Service");
    var pusher = require('pusher-js');
    this.echo = new Echo({
      broadcaster: 'pusher',
      wsHost: 'localhost',
      wsPort: 6001,
      key: 'someKey',
      encrypted: false,
      enabledTransports: ['ws'],
    });
    this.echo.channel('chat').listen('App\Events\MessageSent', (e) => { 
      console.info('got message')  ;
    });  
  }
}

У меня не выводится журнал консоли... Кто-нибудь может мне помочь?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
0
680
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, у меня все работает.

Для тех, кто еще борется с этим в будущем, вы можете просто прослушать событие «MessageSent»; вам не нужен полный путь. т.е.

    this.echo.channel('chat').listen('MessageSent', (e) => { 
      console.info('got message')  ;
    }); 

буду работать.

Другие вопросы по теме