javascript - 函数节点中的 for 循环仅返回第一次迭代
问题描述
我正在尝试在 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];
解决方案
您正在使用return [msg.payload];
. 删除该行,它应该以您想要的方式打印出来。
请注意,打印输出不等于 1 秒。为此,您可以包装setInterval()
推荐阅读
- java - 如何使用 RestFB IgUser getBusinessDiscovery()?
- facebook - Facebook 在分享内容时看到错误的 opengraph 图像
- ruby-on-rails - 如何从rails中的数组中获取artistID并使用artistID作为参数进行重定向
- java - 根据条件比较数组列表中的对象字段值,如果条件为真则删除
- c - 使用 2 个管道进行进程同步
- python - 在字符串日期对熊猫数据框进行排序而不进行转换
- swift - Swift - 如果每个项目都存在于列表中,如何检查所有子集并返回 true
- java - 将字符串添加到对象列表
- python - Python 套接字错误 300 '永久移动'
- json - jq-更新一个json的值添加一个前缀