所以我尝试使用 Twilio 向用户手机发送通知,但是,同一条消息被发送了三次。我确实将三个电话号码硬编码到一个数组 (providerNumbers) 中,所以我认为它因此循环了三次。
我想要做的是最终从他们为每个用户存储在 Firebase 上的用户提供的电话号码填充电话号码数组。因此,不同的用户将收到相同的通知,让他们知道要访问该网站。
这是我的 Node.js
代码:
var providerNumbers = ['number1', 'number2', 'number3'];
var body = "..."
app.get('/testtwilio', function(req, res){
Promise.all(
providerNumbers.map(number => {
return twilio.messages.create({
to: number,
from: '+15704058347',
body: body
});
})
).then(messages => {
console.log('Messages Sent!');
}).catch(err => console.error(err));
});
谁知道我怎样才能防止消息向所有用户发送三次?
最佳答案
您发布的代码没有任何问题。
.map
为您的 providerNumbers
数组中的每个元素调用回调函数一次。
回调函数在执行时只发送一个消息。
如果你用这样的东西记录索引,你可以验证这一点:
app.get('/testtwilio', function(req, res){
Promise.all(
providerNumbers.map((number, index) => {
console.log(index);
return twilio.messages.create({
to: number,
from: '+15704058347',
body: body
});
})
).then(messages => {
console.log('Messages Sent!');
}).catch(err => console.error(err));
});
总而言之,一定有东西击中了您的端点 '/testtwilio'
三次。
希望对您有所帮助。
关于javascript - Twilio SMS 消息不断重新发送相同的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227775/