AWS IoT将消息发布到主题,但不返回任何内容

时间:2019-08-14 16:10:00

标签: javascript node.js aws-iot

我将消息发布到AWS IoT(主题:mytest)。 AWS IoT主题收到了我期望的消息,但是我没有任何回应。

我的代码:

async function sendIot() {
    var params = {
      payload: JSON.stringify(body.msg),
      topic: "mytest",
      qos: 0 
    };

    console.log("Params::params: " + JSON.stringify(params));

    try {
        let iotPromise = await iotData.publish(params).promise();
        console.log('AWS IoT: resp: ' + JSON.stringify(iotPromise))
        return iotPromise;
    } catch (e) {
      console.log("Error: " + e);
    }
  }

Response是一个空值

  

AWS IoT: resp: {}

代码正常还是错误?任何建议表示赞赏。

已编辑 将“等待”添加为承诺

2 个答案:

答案 0 :(得分:0)

您要登录到控制台的不是响应,而是承诺。如果您想检查函数中的响应,则需要像这样await

async function sendIot() {
  const response = await iotData.publish(params).promise();
  console.log('AWS IoT: resp: ' + JSON.stringify(response));
}

答案 1 :(得分:0)

响应元素

是,默认情况下,响应为空对象。如果操作成功,则该服务将使用空的HTTP正文发送回HTTP 200响应。

请参考官方链接以获取更多信息https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_Publish.html