javascript - 如何进行异步调用以发送一个信号推送通知

标签 javascript node.js onesignal

我想进行异步调用以向每个设备发送推送通知。我有包含用户信息和设备 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/

相关文章:

javascript - 无法 console.log(req.flash ("error")) 和同时呈现消息

javascript - 在“面板”上显示当前页面的 URL 和标题

Javascript 对象原型(prototype)引用

javascript - 以 Angular 循环广播不会在接收器中给出更新值

javascript - Node.js Javascript 和 Express

android - 由于OneSignal无法解决依赖关系

ios - 使用 OneSignal 推送通知 : What means "No Push Token"?

ios - OneSignal 和 Xamarin iOS 问题

javascript - 在我网站上的 Facebook 点赞按钮上,如何禁用 "post to Facebook"按钮?

javascript - 在 iPhone 上单击延迟并抑制输入焦点