N F*_*Frb 1 javascript node.js node-red
我想将异步数据发送到配置中的节点。我想执行一个SQL请求以列出中的一些数据。
另外,二进制文件可以每隔x分钟请求数据库并创建一个缓存,每个节点将在创建时使用该缓存,这将删除代码的异步部分,即使不再“实时更新”也是如此。
实际上,我陷入困境是因为我创建了查询并将其添加如下:
module.exports = function(RED) {
"use strict";
var db = require("../bin/database")(RED);
function testNode(n) {
// Create a RED node
RED.nodes.createNode(this,n);
// Store local copies of the node configuration (as defined in the
.html
var node = this;
var context = this.context();
this.on('input', function (msg) {
node.send({payload: true});
});
}
RED.nodes.registerType("SQLTEST",testNode);
}
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何将数据传递到配置节点。我想到了Socket.IO可以做到这一点,但这是一个好主意并且可用吗?你知道什么解决方案吗?
Node-RED中使用的标准模型用于节点注册其自己的admin http端点,该端点可用于查询其所需的信息。您可以在“串行”节点上看到此操作。
串行节点编辑对话框列出了当前连接的串行设备供您选择。
节点在此处注册管理端点:https : //github.com/node-red/node-red-nodes/blob/83ea35d0ddd70803d97ccf488d675d6837beeceb/io/serialport/25-serial.js#L283
RED.httpAdmin.get("/serialports", RED.auth.needsPermission('serial.read'), function(req,res) {
serialp.list(function (err, ports) {
res.json(ports);
});
});
Run Code Online (Sandbox Code Playgroud)
关键点:
needsPermission中间件是有,以确保只有合法的用户才能访问端点。许可应采用形式<node-type>.read。然后其编辑对话框从此处查询该端点:https : //github.com/node-red/node-red-nodes/blob/83ea35d0ddd70803d97ccf488d675d6837beeceb/io/serialport/25-serial.html#L240
$.getJSON('serialports',function(data) {
//... does stuff with data
});
Run Code Online (Sandbox Code Playgroud)
关键点:
/。这样可以确保相对于从何处提供编辑器都可以发出请求-您不能假定从那里提供该请求/。| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |