Node.js amqplib节点使用rabbitmq
这就是我在rabbit中使用队列的方式,我想知道为什么这个承诺仍然挂起并且没有结果。我试图击中一个端点,称之为这个承诺,并期望它返回刚刚好,以确保它给我一个200好的状态。现在,它的行为似乎不知何故没有从这项服务中得到任何回报,我想知道我做错了什么。谢谢Node.js amqplib节点使用rabbitmq,node.js,rabbitmq,node-amqp,Node.js,Rabbitmq,Node Amqp,这就是我在rabbit中使用队列的方式,我想知道为什么这个承诺仍然挂起并且没有结果。我试图击中一个端点,称之为这个承诺,并期望它返回刚刚好,以确保它给我一个200好的状态。现在,它的行为似乎不知何故没有从这项服务中得到任何回报,我想知道我做错了什么。谢谢 return new Promise((resolve,reject) => { try{ rabbit.then(conn => {
return new Promise((resolve,reject) => {
try{
rabbit.then(conn => {
return conn.createChannel();
})
.then(ch => {
let shit = ch.assertQueue(USER_LOG_QUEUE)
.then(ok => {
if(ok.messageCount > 0){
return ch.consume(USER_LOG_QUEUE, function(msg) {
if (msg !== null) {
ch.ack(msg);
writeToFile(msg.content.toString())
.then(rs => {
console.log(rs);
})
.catch(err => reject(err));
}
console.log('finished');
ch.close();
resolve(ok);
})
}else{
console.log('empty list : finished');
ch.close();
resolve(ok);
}
})
.then(ok => {
console.log('empty list2 : finished');
resolve(ok)
})
.catch(err => reject(err));
}catch(err){
reject(err);
}
});