无法与 pusher.js 中的服务器数据绑定
can't bind with server data in pusher.js
我正在关注 this link 创建协作绘图应用程序。我可以 运行 申请,但 协作绘图没有发生 。我已成功创建 PUSHER_APP_ID
、PUSHER_KEY
、PUSHER_SECRET
并放入 .env
。
协同绘图代码-
ngAfterViewInit() {
const channel = this.pusher.init();
console.log("ngAfterViewInit called :: line 142 : ", this.userId);
channel.bind('draw', (data) => {
console.log("line 144");
if (data.userId !== this.userId) {
console.log("line 146");
data.line.forEach((position) => {
console.log("line 148");
this.draw(position.start, position.stop, this.guestStrokeStyle);
});
}
});
}
如果我在不同的浏览器中点击它,我会看到不同的用户 ID。但它不会进入循环下方。
channel.bind('draw', (data) => {
...
}
我可以看到来自 server.js
代码的日志 -
app.post('/draw', (req, res) => {
console.log("draw :: in server :: ", req.body);
pusher.trigger('painting', 'draw', req.body);
res.json(req.body);
});
日志 -
draw :: in server :: { line:
[ { start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] } ],
userId: 'ggfe565r-68ae-6cc6-878a-7g7j9d3b6b94' }
如果我做错了什么或遗漏了什么,有人可以吗help/guide。
我通过将 cluster: 'eu'
更改为 cluster: 'ap2'
解决了这个问题。
我正在关注 this link 创建协作绘图应用程序。我可以 运行 申请,但 协作绘图没有发生 。我已成功创建 PUSHER_APP_ID
、PUSHER_KEY
、PUSHER_SECRET
并放入 .env
。
协同绘图代码-
ngAfterViewInit() {
const channel = this.pusher.init();
console.log("ngAfterViewInit called :: line 142 : ", this.userId);
channel.bind('draw', (data) => {
console.log("line 144");
if (data.userId !== this.userId) {
console.log("line 146");
data.line.forEach((position) => {
console.log("line 148");
this.draw(position.start, position.stop, this.guestStrokeStyle);
});
}
});
}
如果我在不同的浏览器中点击它,我会看到不同的用户 ID。但它不会进入循环下方。
channel.bind('draw', (data) => {
...
}
我可以看到来自 server.js
代码的日志 -
app.post('/draw', (req, res) => {
console.log("draw :: in server :: ", req.body);
pusher.trigger('painting', 'draw', req.body);
res.json(req.body);
});
日志 -
draw :: in server :: { line:
[ { start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] },
{ start: [Object], stop: [Object] } ],
userId: 'ggfe565r-68ae-6cc6-878a-7g7j9d3b6b94' }
如果我做错了什么或遗漏了什么,有人可以吗help/guide。
我通过将 cluster: 'eu'
更改为 cluster: 'ap2'
解决了这个问题。