我想进行异步调用以向每个设备发送推送通知。我有包含用户信息和设备 ID 的对象数组。我必须旋转每个对象直到数组完成。我不明白怎么做。我试图通过关闭函数让它手动等待 2 秒。请帮助我摆脱困境。
var userinfo = [{
userdata: "some info for user 1",
deviceid: "user device id 1"
},
{
userdata: "some info for user 2",
deviceid: "user device id 2"
},
{
userdata: "some info for user 3",
deviceid: "user device id 3"
}
]
for (var i = 0; i < userinfo.length; i++)(function(t) {
setTimeout(function() {
var message = {
app_id: "my app id",
contents: {
"en": userinfo[t].userdata
},
include_player_ids: [userinfo[t].deviceid],
};
sendNotification(message);
}, t * 2000)
}(i));
最佳答案
您可以使用异步等待功能。
for (var i = 0; i < userinfo.length; i++)( async function(t) {
var message = await {
app_id: "my app id",
contents: {
"en": userinfo[t].userdata
},
include_player_ids: [userinfo[t].deviceid],
};
await sendNotification(message);
}(i));
这是一个Documentation
关于javascript - 如何进行异步调用以发送一个信号推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49513128/