From a868cb97d985c5af3c34cb18ba56d1ce9b667542 Mon Sep 17 00:00:00 2001 From: Colin Law Date: Tue, 2 Jan 2018 08:28:08 +0000 Subject: [PATCH] Move all node.send to end of timer functions in trigger node (issue #1527) (#1539) --- nodes/core/core/89-trigger.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nodes/core/core/89-trigger.js b/nodes/core/core/89-trigger.js index 6aca2c342..72cdf59aa 100644 --- a/nodes/core/core/89-trigger.js +++ b/nodes/core/core/89-trigger.js @@ -112,16 +112,17 @@ module.exports = function(RED) { } else { node.topics[topic].tout = setTimeout(function() { + var msg2 = null; if (node.op2type !== "nul") { - var msg2 = RED.util.cloneMessage(msg); + msg2 = RED.util.cloneMessage(msg); if (node.op2type === "flow" || node.op2type === "global") { node.topics[topic].m2 = RED.util.evaluateNodeProperty(node.op2,node.op2type,node,msg); } msg2.payload = node.topics[topic].m2; - node.send(msg2); } delete node.topics[topic]; node.status({}); + node.send(msg2); }, node.duration); } node.status({fill:"blue",shape:"dot",text:" "}); @@ -130,18 +131,19 @@ module.exports = function(RED) { if (node.op2type === "payl") { node.topics[topic].m2 = RED.util.cloneMessage(msg.payload); } if (node.topics[topic].tout) { clearTimeout(node.topics[topic].tout); } node.topics[topic].tout = setTimeout(function() { + var msg2 = null; if (node.op2type !== "nul") { - var msg2 = RED.util.cloneMessage(msg); if (node.op2type === "flow" || node.op2type === "global") { node.topics[topic].m2 = RED.util.evaluateNodeProperty(node.op2,node.op2type,node,msg); } if (node.topics[topic] !== undefined) { + msg2 = RED.util.cloneMessage(msg); msg2.payload = node.topics[topic].m2; - node.send(msg2); } } delete node.topics[topic]; node.status({}); + node.send(msg2); }, node.duration); } else {