如何在node-red中输出多个msg.payload的列表?

How to output a list of multiple msg.payload in node-red?

我有多个节点(例如日期 + 服务器状态消息(通过 http get)),我想在节点红色仪表板上显示最后 x 条消息的列表。我找不到这个的节点/npm 包,我想我可以用标准包来做?

列表示例:

消息处理不是这里的问题,但是如果有新条目进来,如何输出和删除列表中的第x 个条目?

听起来你需要看看如何使用 context 来存储数据。

执行此操作的最简单方法是在函数节点中,如下所示:

var list = context.get("statusList") || [];
var date = new Date().toLocaleDateString();
var entry = date + " - " + msg.payload;
list.push(entry);
if (list.length > 5) {
  list = list.slice(-5);
}
context.put("statusList", list);
msg.payload = list;
return msg;

这应该保留最后 5 个输入消息和输出以及包含这 5 个消息的数组。