我正在开发一个Web应用程序,一旦提交表单,该文本应用程序将文本消息发送给多个用户。我创建了一个for循环,该循环遍历所有数字并使用异步瀑布发送消息。但是问题在于,因为for循环内的函数调用是异步的,for循环完成并且res.end()
被调用。因此,内部的所有res.write();
函数都没有,因为响应已经关闭。我如何才能等到for循环内函数的所有回调都执行完毕以结束响应。
res.write("Delivery note issued successfully")
res.write("Sending text messages....")
let api = '000000000000'
for(let i = 0; i < textMessageNumbers.length; i++) {
res.write("Sending to " + textMessageNumbers[i])
async.series([
function(callback) {
request('https://api_link?destination=' + textMessageNumbers[i] + '&q=' + api + '&message=' + textMessage, { json: true }, callback)
}
], function(err, data) {
if(err) {
res.write("Error occurred while sending text message to " + textMessageNumbers[i])
}
if(data[0].body == 0) {
res.write("Text message sent successfully to <b>" + textMessageNumbers[i] + "</b>")
} else {
res.write("Couldn't send message to <b>" + textMessageNumbers[i] + "</b>")
}
})
}
res.write("Delivery Note Successfull")
res.end()