Сохранение значения, а затем отправка всего в Javascript

Я работаю в Node-red, построенном на узле js. Я пытался создать один узел, который будет хранить все входные данные из разных функциональных узлов, а затем отправлять их все на следующий узел. в Node-RED каждое сообщение обрабатывается один раз и отправляется, а процесс сообщения является асинхронным по свойству.

Документация: http://nodered.org/docs/creating-nodes/node-js.html

Это скриншот проводки node-RED:

введите здесь описание изображения

У узла конкатенации есть две функции. Код узла конкатенации:

module.exports = function(RED) {
    function LowerCaseNode(config) {
        RED.nodes.createNode(this,config);
        var node = this;
        this.on('input', function(msg) {
        var abc = [];
        abc.push(msg.payload);
            node.send(msg);
        });
    }
    RED.nodes.registerType("lower-case",LowerCaseNode);
}

вывод, который я получаю на вкладке отладки:

введите здесь описание изображения

Вывод, который я хотел на вкладке отладки:

введите здесь описание изображения


person ninja.stop    schedule 20.10.2014    source источник


Ответы (1)


У вашего узла concat нет возможности узнать, из какого функционального узла пришло входящее сообщение, нет информации об источнике, переданном с сообщением.

Лучшее, что вы можете сделать, это установить разные поля тем в каждом функциональном узле и использовать их для различения входных данных.

Кроме того, это, вероятно, не должен быть отдельным узлом, вы должны иметь возможность реализовать его как функциональный узел и использовать переменную context.

person hardillb    schedule 20.10.2014
comment
Но если для источника это не функция или говорят, что это не только функция. msg может прийти откуда угодно. Мне просто нужно объединить, скажем, n количество сообщений, а затем, как это сделать. Я не могу этого сделать. Я хочу сделать со своим собственным узлом, а не с функциональным узлом. Пожалуйста, помогите мне. - person ninja.stop; 20.10.2014