Azure nodejs sdk:队列消息侦听器的长轮询

只有当消息可用时,是否可以创build一个消息侦听器来从服务总线队列(而不是存储队列)接收消息?

其实我的实现包含一个调用接收操作的setInterval函数:

var service = azure.createServiceBusService( azureEnpoint ); var repeat = function() { service.receiveQueueMessage(me.name, function (error, receivedMessage) { if (!error) { logger.debug(receivedMessage, "Received message from queue "+ me.name); callback(error, receivedMessage); } }); } setInterval(repeat, me.pollingInterval); 

谢谢

sorting,你使用长轮询,你检查一条消息,并等待很长时间的回应。 好的一面是你只收取一个单一的请求。 将秒数replace为您想等待响应的时间。 最多24天。

 service.receiveQueueMessage(me.name, { timeoutIntervalInS: seconds }, function (error, receivedMessage) 

这里有一个完整的例子: https : //msdn.microsoft.com/en-us/magazine/dn802604.aspx