我将消息发布到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: {}
代码正常还是错误?任何建议表示赞赏。
已编辑 将“等待”添加为承诺
答案 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