1 回答
TA贡献1850条经验 获得超11个赞
你的 mqttCon.js 文件没有client.prototype.unsubscribe = function() {},所以错误是正确的。您正在定义client为一个模块,但您确实需要mqtt.unsubscribe()在某个地方调用。因此,您需要unsubscribe()向常量添加一个函数client(在这种情况下实际上应该是一个函数var),或者mqtt.unsubscribe()在您的 processMessage.js 文件中需要 mqtt 模块后调用该函数....我认为这与您正在尝试的相反无论如何要做。
更新:以上影响了我的想法,问题是我正在导入processMessage.js哪个mqttCon.js又导入了哪个。循环导入,意思是mqttCon(mqttClient) was always not yet initialized inside processMessage.js. 解决方案是当客户端已经初始化并导出为如下模块时,我processMessage.js在块内导入:client.on('connect'....)...
client.on("connect", () => {
console.log("MQTT connected with status: " + client.connected);
if (client.connected) {
client.on('message', (topic, message) => {
require('./processMessage')(topic, String(message))
})
}
})
添加回答
举报
