我有一个简单的node.js应用,它可以响应客户端的传入消息,并立即向他们发送传出消息,例如
app.post('/sms',function(Request,Response){
// Incoming message
var IncomingMessage = Request.body.Body;
// Outgoing message
var OutgoingMessage = ProcessMessages(IncomingMessage);
// Twilio sms service
const twiml = new MessagingResponse();
twiml.message(OutgoingMessage);
Response.writeHead(200,{'Content-Type':'text/xml'});
Response.end(twiml.toString());
});
但是当我在自己的手机上对其进行测试时,发送和接收文本的顺序不正确。从服务器返回的OutgoingMessage
文本放在我在电话上发送的IncomingMessage
文本之前。
已发送和已接收文本的时间戳相同。因此,作为补救措施,我尝试在发送OutgoingMessage
之前创建一个两秒的延迟,以创建时间戳记差异,例如
// Delay for chronological sms orders
setTimeout(function(){
// Twilio sms service
const twiml = new MessagingResponse();
twiml.message(OutgoingMessage);
Response.writeHead(200,{'Content-Type':'text/xml'});
Response.end(twiml.toString());
},2000);
但是,已发送和已接收消息的时间戳相同,并且它们的顺序不正确。关于如何使发送和接收的文本按时间顺序排列的任何想法?谢谢。