Pusher:通道绑定和 Laravel echo 的区别
Pusher: Difference between channel binding and Laravel echo
我最近使用 Pusher 和 Laravel 开发了一个通知系统。不幸的是不能让它以这种方式工作:
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
Pusher.logToConsole = true;
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'WORKING KEY ..',
cluster : "mt1",
encrypted: true
});
和
window.Echo.channel('post')
.listen('ArticleEvent', function (e) {
console.log(e);
});
虽然消息已发送到客户端控制台,但 Listen
根本不起作用...并且没有任何记录。
反正我是这样用的,而且很管用:
window.Pusher = require('pusher-js');
var pusher = new Pusher('WORKING KEY ..', {
encrypted: true,
cluster: 'mt1',
});
var channel = pusher.subscribe('post');
channel.bind('ArticleEvent', function(e) {
alert(JSON.stringify(e['message']));
});
2 种方式之间的区别是什么,必须首选哪种?
您需要在 Listen 方法中包含命名空间信息。
请尝试使用(注意 .
字符):
window.Echo.channel('post')
.listen('.ArticleEvent', function (e) {
console.log(e);
});
我最近使用 Pusher 和 Laravel 开发了一个通知系统。不幸的是不能让它以这种方式工作:
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
Pusher.logToConsole = true;
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'WORKING KEY ..',
cluster : "mt1",
encrypted: true
});
和
window.Echo.channel('post')
.listen('ArticleEvent', function (e) {
console.log(e);
});
虽然消息已发送到客户端控制台,但 Listen
根本不起作用...并且没有任何记录。
反正我是这样用的,而且很管用:
window.Pusher = require('pusher-js');
var pusher = new Pusher('WORKING KEY ..', {
encrypted: true,
cluster: 'mt1',
});
var channel = pusher.subscribe('post');
channel.bind('ArticleEvent', function(e) {
alert(JSON.stringify(e['message']));
});
2 种方式之间的区别是什么,必须首选哪种?
您需要在 Listen 方法中包含命名空间信息。
请尝试使用(注意 .
字符):
window.Echo.channel('post')
.listen('.ArticleEvent', function (e) {
console.log(e);
});