存储 API

存储 API 提供了一种可插拔的方式来配置 Node-RED 运行时存储数据的位置。

该 API 存储的信息包括:

  • 流配置
  • 流凭证
  • 用户设置
  • 用户会话
  • 节点库内容

默认情况下,Node-RED 使用该 API 的本地文件系统实现。

API 函数的文档在 这里

配置

settings.js 中的 storageModule 属性可用于指定要使用的自定义模块:

storageModule: require("my-node-red-storage-plugin")

Promise

该 API 广泛使用 JavaScript promises

Promise 代表异步操作的最终结果。在结果可用之前,它充当占位符。

Node-RED 使用 When.js 库。以下示例展示了它的用法。更完整的示例,默认的文件系统实现位于 red/runtime/storage/localfilesystem.js

function getFlows() {
    // 创建并返回一个 promise
    return when.promise(function(resolve,reject) {
        // resolve - 成功结果的回调函数
        // reject - 如果发生错误调用的回调函数

        // 执行一些异步工作,完成后回调
        doAsyncWork(function(err,result) {
            if (err) {
                reject(err);
            } else {
                resolve(result);
            }
        });
    });
}

getFlows()
    .then(function(result) {
        // 当 getFlows 成功完成时被调用
    })
    .otherwise(function(err) {
        // 当 getFlows 发生错误时被调用
    });