diff --git a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js index db4d300fe..fe4ce1b3b 100644 --- a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js +++ b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js @@ -400,7 +400,15 @@ module.exports = function(RED) { } if (Object.keys(node.users).length === 0) { if (node.client && node.client.connected) { - return node.client.end(done); + // Send close message + if (node.closeMessage) { + node.publish(node.closeMessage,function(err) { + node.client.end(done); + }); + } else { + node.client.end(done); + } + return; } else { node.client.end(); return done(); @@ -639,10 +647,6 @@ module.exports = function(RED) { this.on('close', function(done) { this.closing = true; if (this.connected) { - // Send close message - if (node.closeMessage) { - node.publish(node.closeMessage); - } this.client.once('close', function() { done(); }); @@ -873,4 +877,4 @@ module.exports = function(RED) { } } RED.nodes.registerType("mqtt out",MQTTOutNode); -}; \ No newline at end of file +};