uni-app云函数中使用mqtt接收消息

javascript 复制代码
const mqtt = require('mqtt');

exports.main = async (event, context) => {
  return new Promise((resolve, reject) => {
    // 连接到 MQTT 服务器
    const client = mqtt.connect('wss://mqtt.example.com:8083/mqtt', {
      username: 'your-username',
      password: 'your-password',
    });

    // 连接成功
    client.on('connect', () => {
      console.log('MQTT 连接成功');
      client.subscribe('test/topic', (err) => {
        if (err) {
          console.error('订阅失败:', err);
          reject(err);
        } else {
          console.log('订阅成功');
        }
      });
    });

    // 接收消息
    client.on('message', (topic, message) => {
      console.log(`收到消息: ${message.toString()}`);
      resolve({
        topic,
        message: message.toString(),
      });
    });

    // 连接失败
    client.on('error', (error) => {
      console.error('MQTT 连接失败:', error);
      reject(error);
    });
  });
};

注意: 需要用return new Promise((resolve, reject) => { 包起来。我没包起来,导致项目中可用,但是云函数中用不了。

相关推荐
徐小夕11 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
a11177612 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
kyriewen13 小时前
别再乱用useEffect了——你写的10个里有8个不该存在
前端·javascript·react.js
Ivanqhz13 小时前
Rust &‘static str浅析
java·前端·javascript·rust
IT_陈寒13 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱13 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
zandy101114 小时前
衡石 Agentic BI的ReAct 推理框架在 Agentic BI 中的工程化实践
前端·javascript·react.js
罗超驿14 小时前
JavaEE进阶之路:从Web架构原理到HTML标签全解析
前端·html·web·javaee
西安小哥14 小时前
从前端到AI工程师:一场跨越鸿沟的真实蜕变之旅
前端
Prince41814 小时前
侧边栏收起缩放适配方案
前端