【发布时间】:2017-02-16 20:51:33
【问题描述】:
我正在开发一个 nodejs 应用程序(使用 express),它将通过 HTTP 为来自客户端的 REST 调用提供服务。其中一个 REST API 将处理 POST 请求,该请求将从 POST 正文获取数据并通过 MQTT 客户端(作为应用程序的一部分启动)发布。
订阅主题的单独应用程序(通过我们都连接到的 MQTT 代理)将接收消息并通过向我的应用程序的 MQTT 客户端订阅的主题发布消息来响应(这将导致在我的 Javascript 应用中触发的回调)。
我希望能够返回我的应用程序在我的应用程序正在处理的 POST 响应中收到的 MQTT 消息。
在常规的“C 语言编程”术语中...有一个线程处理 REST API 和一个单独的线程处理接收 MQTT 消息(例如两个不同的套接字)。我想阻止线程处理信号量上的 POST 处理线程,直到 MQTT 线程可以接收一些数据,将其入队并释放信号量以解除对 POST 处理线程的阻塞(然后将消息出列并在POST 响应)。
在修改了各种模块和 Promise/Generators 之后,我不清楚如何使它工作......
执行此操作的“javascript 方式”是什么?
TIA!
【问题讨论】:
-
关于代码的问题应该包括您的实际代码。
标签: javascript node.js rest express mqtt