Node.js 通道阵列没有';我不在公共场所工作
我试图用一些频道创建一个数组列表,但没有收到订阅的消息。示例代码:Node.js 通道阵列没有';我不在公共场所工作,node.js,publish-subscribe,pubnub,Node.js,Publish Subscribe,Pubnub,我试图用一些频道创建一个数组列表,但没有收到订阅的消息。示例代码: var channels_list = [ 'channel1','channel2','channel3' ]; pubnub.subscribe({ channels: channels_list }); 如果我更改此代码,我可以接收消息 pubnub.subscribe({ channels: [ 'channel1','channel2','channel3' ] }); 为什么第一个选项不起作用?
var channels_list = [ 'channel1','channel2','channel3' ];
pubnub.subscribe({
channels: channels_list
});
如果我更改此代码,我可以接收消息
pubnub.subscribe({
channels: [ 'channel1','channel2','channel3' ]
});
为什么第一个选项不起作用?我做错了什么
这是我的nodejs脚本
var PubNub = require('pubnub');
var MongoClient = require('mongodb').MongoClient;
var url_mongo = "mongodb://localhost/database";
var db;
var channels_list = [];
MongoClient.connect(url_mongo, function(err, _db) {
if (err) console.log("Error: ", err);
console.log("Connected to mongodb");
db = _db;
init();
});
function init() {
pubnub = new PubNub({
subscribeKey : '...',
logVerbosity:true
});
getAllChannels();
pubnub.addListener({
status: function(event) {
console.log("status: " + JSON.stringify(event));
},
message: function(event) {
console.log("message: " + JSON.stringify(event));
},
presence: function(event) {
console.log("presence: " + JSON.stringify(event));
}
});
pubnub.subscribe({
channels : channels_list
});
function getAllChannels() {
db.collection("channels").find({}).toArray(function(err, docs){
if(err) console.log(err);
else{
channels_list = [];
for(i = 0; i != docs.length; i++){
channels_list.push('channel-'+docs[i]._id);
}
console.log(channels_list);
}
});
}
}
与MongoDB的连接正确,通道列表中有通道。我验证这部分
就JavaScript而言,它们是相同的!它们应该是一样的。看起来都对这两种方法对我都有效。你能提供完整的脚本来重现你的问题吗。你使用的是什么版本的PubNub Node SDK?我想发布一个新的答案。堆栈溢出协议是将代码添加到原始问题(编辑)中,除非你的代码是答案。就JavaScript而言,这些都是相同的!它们应该是一样的。看起来都对这两种方法对我都有效。你能提供完整的脚本来重现你的问题吗。您使用的是什么版本的PubNub Node SDK?我想发布一个新的答案堆栈溢出协议是将代码添加到原始问题(编辑)中,除非您的代码是答案。