对于每个数组元素在异步等待查询函数中订阅 MQTT 主题

编程入门 行业动态 更新时间:2024-10-06 22:32:15

对于每个<a href=https://www.elefans.com/category/jswz/34/1771288.html style=数组元素在异步等待查询函数中订阅 MQTT 主题"/>

对于每个数组元素在异步等待查询函数中订阅 MQTT 主题

如果我将 mqttTopics 作为数组同步提供,则以下代码可以正常工作。

如果我尝试将代码(从 mqttTopics 声明之前)包装到异步函数中,以等待承诺的查询响应,则连接未建立,也未记录“订阅成功”。

谁能解释一下为什么不能将它放入这样的函数中,并为我指明以某种方式等待查询的正确方向?

const mqtt = require('mqtt');
let mqttClient = mqtt.connect('mqtt://127.0.0.1:188:1889');
let { singledbentry, refresh } = require("./database.js")

async function mqttSubscribe() {

let mqttTopics = await refresh('SELECT topicname, topictimetable, topicid FROM mqttsubscriptions');

mqttClient.on('connect', function() {
    mqttTopics.forEach(element => {
        mqttClient.subscribe(element.topicname);        
    });
    
    console.log('subscribed successfully');
});
mqttClient.on('message', function(topic,message) {
    console.log(topic);
    console.log(message.toString());
});

}
module.exports = mqttSubscribe;
回答如下:

更多推荐

对于每个数组元素在异步等待查询函数中订阅 MQTT 主题

本文发布于:2024-05-30 12:15:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770487.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   函数   元素   主题   MQTT

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!