Nodejs、Mqtt:连接和回调顺序错误?

编程入门 行业动态 更新时间:2024-10-03 21:17:45

Nodejs、Mqtt:连接和<a href=https://www.elefans.com/category/jswz/34/1771356.html style=回调顺序错误?"/>

Nodejs、Mqtt:连接和回调顺序错误?

我想使用 nodejs 的 mqtt 包。无论我在哪里,我都能找到这样的代码示例(来自 github 上的官方文档):

const mqtt = require('mqtt')
const client  = mqtt.connect('mqtt://test.mosquitto')

client.on('connect', function () {
  client.subscribe('presence', function (err) {
    if (!err) {
      client.publish('presence', 'Hello mqtt')
    }
  })
})

client.on('message', function (topic, message) {
  // message is Buffer
  console.log(message.toString())
  client.end()
})

我的问题是连接:mqtt.connect() 在回调之前:client.on('connect', ...)。我认为这是错误的顺序。

这不同于实例化客户端的 python 包,然后声明“on connect”和其他回调,然后才使用 client.connect() 方法。

有没有办法像 python 包中那样保证正确的顺序?

回答如下:

我不知道 python 包上写的是什么,但是如果我们看官方 Mqtt 码头 正确的顺序是:

  1. 连接到 mqtt 服务器
  2. 然后将命令发送到您的客户端订阅了一些主题的 mqtt 服务器
  3. 然后在我们的节点层上我们添加一些回调(
    client.on('message', console.log)
    )来处理传入的消息

更多推荐

Nodejs、Mqtt:连接和回调顺序错误?

本文发布于:2024-05-30 23:25:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771037.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:回调   顺序   错误   Nodejs   Mqtt

发布评论

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

>www.elefans.com

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