mqtt异步等待消息,然后响应http发布请求
我是node.js的新手,正在尝试建立一个Webhook,在这里我收到HTTP发布请求,并希望通过mqtt发送请求,并等待参考MQTT消息的mqtt消息,然后将这些消息作为响应发送给HTTP
var array = [];
const client = mqtt.connect(MQTTServer)
var count =0;
client.on('message', (topic, message) => {
array[count] = message
count ++
}
app.post('/tesr', function (request, response) {
client.publish ('outTopic' , 'request ');
client.subscribe('inTopic')
//wait for multiple mqtt message in MQTT callback
//after all messages received or timeout return here
client.unsubscribe('inTopic')
count = 0
response.status(200).json(array);
}
因此尝试了while()
和seInterval()
,但没有找到任何解决方法
您无需从路由处理程序内调用response.send(array)
,您可以在外部进行此操作。
mqtt异步等待消息,然后响应http发布请求
我是node.js的新手,正在尝试建立一个Webhook,在这里我收到HTTP发布请求,并希望通过mqtt发送请求,并等待参考MQTT消息的mqtt消息,然后将这些消息作为响应发送给HTTP
var array = [];
const client = mqtt.connect(MQTTServer)
var count =0;
client.on('message', (topic, message) => {
array[count] = message
count ++
}
app.post('/tesr', function (request, response) {
client.publish ('outTopic' , 'request ');
client.subscribe('inTopic')
//wait for multiple mqtt message in MQTT callback
//after all messages received or timeout return here
client.unsubscribe('inTopic')
count = 0
response.status(200).json(array);
}
因此尝试了while()
和seInterval()
,但没有找到任何解决方法
您无需从路由处理程序内调用response.send(array)
,您可以在外部进行此操作。