Angular 10 + PubNub - 从特定频道读取消息时出现问题

Posted

技术标签:

【中文标题】Angular 10 + PubNub - 从特定频道读取消息时出现问题【英文标题】:Angular 10 + PubNub - Problem reading messages from a specific channel 【发布时间】:2021-12-27 18:18:21 【问题描述】:

我正在尝试使用 PubNub 来阅读在特定频道中发布的消息。发布工作正常。

在我的 Angular 10 前端我正在尝试以下操作:

this.pubnubService.subscribe( channels: ['channel1'], triggerEvents: true );

this.pubnubService.getMessage(this.currentlySubscribedPubNubChannels, message => 
  console.log(message);
);

但是,发布时没有收到任何消息(通过我的 API 或 pubnub.com 上的调试控制台)。

另一方面,如果我指定一个监听器,我可以在所有通道上接收消息(这不是我想要实现的):

this.pubnubService.addListener(
  message: (message) => 
    console.log(message);
  
);

谁能告诉我为什么一般的听众在工作,但在特定频道上收听却没有?

任何帮助表示赞赏, 谢谢, 帕斯卡

【问题讨论】:

【参考方案1】:

好像是这个包: https://www.npmjs.com/package/pubnub-angular2 不再支持。

结合使用“pubnub”(https://www.npmjs.com/package/pubnub) 包: https://www.npmjs.com/package/@types/pubnub

似乎可以解决问题。

import * as Pubnub from 'pubnub';
...
export class MyApp 

  private pubnubService;

  constructor() 
    this.pubnubService = new Pubnub(
      subscribeKey : '<SUBSCRIBER KEY>'
    );

    this.pubnubService.subscribe(
      channels: [<YOUR CHANNEL>]
    );

    this.pubnubService.addListener(
      message: ((msg) => 
        // handle event
      ).bind(this)
    );
  

【讨论】:

以上是关于Angular 10 + PubNub - 从特定频道读取消息时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

按消息文本的 Pubnub 搜索频道

c_cpp ESPn66的Pubnub Arduino SDK代码示例。演示发布和订阅。从PubNub Developer Portal获取您唯一的PubNub密钥

获取 Pubnub 中某个频道的订阅者数量

从 PubNub 获取未读消息并呈现通知

无法向 Kafka 集群生成 PubNub 数据流

PubNub - iOS - 仅限迦太基?