通过实例了解Node-red的核心节点

661 阅读2分钟

这篇文章是关于nodered中核心节点的基础知识的教程

注入节点

注入节点是一个用于初始化流程的输入节点。你可以手动或使用配置的时间间隔自动初始化流程。注入节点中的消息对象有有效载荷和主题。默认情况下,有效载荷是一个当前的时间戳。

调试节点

调试节点是用于向调试控制台显示消息的输出节点,这在流程的开发过程中非常有用。通常,从其他节点收到的数据被输入到这个调试节点。

它总是显示带有有效载荷的msg对象到调试控制台上。

功能节点

功能节点是节点红色调色板的核心节点之一。

你可以在这个节点上写javascript代码,消息对象是这个节点的输入,输出是消息对象。

函数节点被拖到流程编辑器中。可用的属性是节点的名称,以及你可以写javascript代码的代码编辑器。Msg对象是可用的,并且可以访问javascript,Msg.payload是消息的内容。

该函数总是返回msg对象或null,null表示没有收到消息。

Function node tutorials examples

正如你在截图下面看到的,流程是注入节点 -> 函数节点 -> 调试节点。

注入节点以1秒的时间间隔启动,向功能节点发送请求。功能节点返回msg对象到调试节点,记录msg有效载荷到调试控制台

function node example

异步函数

有时我们需要在函数节点中编写javascript异步代码。

使用node.send(msg)来发送异步请求。通常情况下,一旦有请求,函数节点基本上就会发送msg。当使用异步时,它将不会立即发送请求,直到异步完成。

 FunctionAsync(msg, function(output){  
 node.send(payload:output)  
 })

记录错误/警告
你在写javascript,如果发生错误,你需要记录错误。为此,Node对象有几个方法。console.log不会像预期那样工作,所以你必须使用node对象的方法

  
Node.war("Warning information")  
Node.error("ERROR information")  
Node.log("Warning information")  

在代码执行过程中,将数据保存到上下文
存储 你需要将数据保存在上下文中。上下文是一种在不同节点之间存储和共享数据的全局方式。
上下文有三个作用域
节点作用域 - 仅限于特定的节点。
流范围-- 可被同一流上下文的所有节点访问
全局范围-- 是数据存储在其中,可被所有流中的所有节点访问