功能节点中的For循环仅返回第一次迭代

时间:2019-07-12 20:28:50

标签: javascript node-red

我正在尝试在Node-Red中的功能节点中创建一个循环,该循环基本上对我来说就像一个倒数计时器。现在,当我运行该节点时,我只能从该节点得到一个带有msg.playload的输出,说“在15分钟内返回”。

我想要得到的是一个接一个的15个输出,分别是“ 15分钟后退”,“ 14分钟后退”等。一旦获得,我将添加一个延迟,以便for循环每次运行都等待1分钟。

var totalMinutes = 15

for (var i = 0; i < 15; i++){
    var minutesLeft = totalMinutes - [i];

    msg.payload = {
        "profile": {
            "status_text": "Back in " + minutesLeft + " minutes",
            "status_emoji": ":coffee:",
            "status_expiration": 0
        }
    };
    return [msg.payload];
}

return [msg];

1 个答案:

答案 0 :(得分:0)

您正在使用return [msg.payload];阻止代码继续。删除该行,它应该以您想要的方式打印出来。

请注意,打印输出不等于1秒。为此,您可以使用setInterval()

结帐https://www.w3schools.com/js/js_timing.asp以获得更多详细信息。