【发布时间】:2019-09-19 21:56:35
【问题描述】:
我有以下从 aws SQS 获取消息的函数,问题是我一次获取一条消息,我希望获取所有消息,因为我需要检查每条消息的 ID:
function getSQSMessages() {
const params = {
QueueUrl: 'some url',
};
sqs.receiveMessage(params, (err, data) => {
if(err) {
console.log(err, err.stack)
return(err);
}
return data.Messages;
});
};
function sendMessagesBack() {
return new Promise((resolve, reject) => {
if(Array.isArray(getSQSMessages())) {
resolve(getSQSMessages());
} else {
reject(getSQSMessages());
};
});
};
函数 sendMessagesBack() 在另一个 async/await 函数中使用。 我不确定如何获取所有消息,因为我正在研究如何获取它们,人们提到了循环,但我不知道如何在我的情况下实现它。 我假设我必须将 sqs.receiveMessage() 放入一个循环中,但后来我对需要检查什么以及何时停止循环感到困惑,以便我可以获得每条消息的 ID?
如果有人有任何提示,请分享。 谢谢。
【问题讨论】:
标签: node.js amazon-web-services amazon-sqs