我正在使用MQTT npm模块。
触发myMqttObj.on('close',...)
事件时,我调用myMqttObj.end()
,然后使用新连接重新分配:
myMqttObj= mqtt.connect(....)
通过这种方式,所有以前的myMqttObj.on()
方法都在监听新的发射器。 这一切都很有效。
现在我正在尝试创建自己的方法来创建具有相同npm模块的新MQTT连接。我只想隐藏MQTT连接参数,调用自定义方法,并将一个简单的字符串作为参数:
var mySDK= require('./mySDK');
mySDK.mqttConnect("input",function(_inMqtt){
if(_inMqtt!=null){
inMqtt=_inMqtt; //inMqtt is a global variable
inMqtt.on('connect', function() {
//do something here
});
inMqtt.on('close', function() {
inMqtt.end();
mySDK.mqttConnect("input",function(_inMqtt){
inMqtt=_inMqtt; //this assignment to the same Client object doesn't work
});
});
});
mqttConnect
方法只需调用mqtt.connect
方法并返回Client对象。
我希望所有inMqtt.on()
函数现在都在侦听新的Client对象,而不是没有捕获事件。
有什么问题?