Node-RED:关联 HTTP 请求和响应

Node-RED: associate HTTP request and response

我正在使用(尝试使用)标准的 http-request 节点来查询网站。不幸的是,该站点的答复不包括原始请求信息。由于可能有多个请求运行,如何正确关联请求和响应?

也许我只是用错了,或者我没弄对?在经典的编程环境中,句柄将用于此。

2、请求来自另一个处理任务,它用于扩充现有信息。我假设我必须使用上下文存储来临时存储信息,直到请求通过响应完成?

(背景:我通过HTTP定期请求一个地名列表——这很容易。为了在地图上显示它们,我需要为每个地方请求一个反向地理编码服务来获取坐标。缓存已经解决的地方也是可取的;使用(持久的)上下文存储将提供这一点。)

http-request 节点将输​​出与传递给它的相同的 msg

例如如果你传入一个看起来像这样的 msg 对象:

{
  topic: "foo",
  payload:{ 
    name: "Ben"
  },
  counter: 99
}

并且 http-request 节点设置为将 msg.payload 作为参数传递给请求 URL,(假设 http 服务器 return "Hello [name]" ) 输出 msg 对象将如下所示:

{
  topic: "foo",
  payload:"Hello Ben",
  counter: 99
}

如您所见,topiccounter 字段保持原样。您可以使用这种方法在 msg 通过流程时将您想要的任何元数据附加到它。如果您有与给定不直接相关的状态信息 msg,那么上下文是存储它的正确位置。

所有表现良好的节点都应始终输出输入的更新版本 msg