Pubnub.subscribe不工作

时间:2018-02-05 10:43:45

标签: javascript angularjs publish-subscribe pubnub

我正在尝试使用AngularJs 1.4.5在我的pubnub网络应用中实现简单聊天。

我遵循pubnub tutorial中给出的步骤。

$scope.channel = 'chat_for_trial';
$scope.uuid = 'user1';

Pubnub.init({
    publishKey: 'demo',
    subscribeKey: 'demo',
    uuid: $scope.uuid
});

// Send the messages over PubNub Network
$scope.messageContent = {message: ''};

$scope.sendMessage = function() {
    // $scope.messageContent = data;
    // Don't send an empty message 
    if (!$scope.messageContent.message || $scope.messageContent.message === '') {
         return;
     }
     Pubnub.publish({
         channel: $scope.channel,
         message: {
             content: $scope.messageContent.message,
             sender_uuid: $scope.uuid,
             date: new Date()
         },
         callback: function(m) {
             console.log(m);
         }
     });
     // Reset the messageContent input
     $scope.messageContent.message = '';

 };

 //get messages
 $scope.messageContent.messages = [];

// Subscribing to the ‘messages-channel’ and trigering the message callback
Pubnub.subscribe({
    channel: $scope.channel,
    triggerEvents: ['callback']
});

// Listening to the callbacks
$scope.$on(Pubnub.getMessageEventNameFor($scope.channel), function (ngEvent, m) {
    $scope.$apply(function () {
        console.log("i am here")
        $scope.messageContent.messages.push(m)
    });
});

我可以向频道chat_for_trial发送消息,但在pubnub console中查看占用情况时,订阅的uuid未列出。

当我从控制台发送消息时,它不会显示在Web应用程序中。但是,可以在pubnub控制台中看到从Web应用程序发送的数据。

我正在使用pubnub: 4.20.1pubnub-angular: 4.1.0angularjs: 1.4.5

我想知道我在这里缺少什么。

1 个答案:

答案 0 :(得分:0)

问题是由于教程中的pubnub and pubnub-angular版本与我的应用程序中使用bower安装的版本不匹配。

本教程适用于sdk v3和当前的sdk版本v4

请参阅this link以了解如何使用pubnub sdk v4。