2016-12-26 2 views
2

J'ai des problèmes avec Laravel Echo pour écouter les canaux Pusher. Je ne suis pas en mesure d'obtenir une réponse dans mon navigateur (pas de journal de la console).Echo Laravel ne recevant pas l'événement Pusher

Dans mon bootstrap.js j'ai eu.

import Echo from "laravel-echo" 

window.Echo = new Echo({ 
    broadcaster: 'pusher', 
    key: 'myPusherAppKey', 
    cluster: 'mt1', //My app is US-EAST 
    encrypted: true 
}); 

-je utiliser ma console de navigateur et tapez:

Echo.channel('my-channel') 
    .listen('my-event', (e) => { 
     console.log(e); 
    }); 

Je peux voir à partir de la console de débogage Pusher qui

  1. CONNEXION Mon application
  2. SOUSCRIT Mon canal
  3. OCCUPÉ My-channel

J'utilise ensuite la console de débogage Pusher pour envoyer l'événement par défaut:

Channel: my-channel 
Event: my-event 
Data: { 
     "name": "John", 
     "message": "Hello" 
     } 

Cependant, je ne suis pas sortie dans ma console de navigateur.

Si je tape plus loin dans ma console de navigateur:

Echo.leave('my-channel'); 

Je peux voir de Pusher Console de débogage

  1. désabonné my-canal
  2. laissé vacant mon canal

Comment puis-je obtenir Laravel Echo pour écouter les événements Pusher?

Répondre

5

Il s'agissait d'un problème d'espace de nom. Laravel documentation l'explique.

Echo assumera automatiquement les événements sont situés dans l'App \ namespace Events

Par conséquent, le nom de l'événement doit être modifié dans la console de débogage Pusher en tant que tel:

Event: App\Events\my-event