我应该在哪里放置“返回”在云触发器中

时间:2017-12-13 16:47:44

标签: node.js firebase firebase-realtime-database

我是Node.js的新手,我正在尝试创建一个firebase,可以在新的更新应用于firebase实时数据库节点时触发执行。 我有像这样结构的js代码

    for (var player in players) {
    admin.database().ref().. {
    ..
    admin.messaging().sendToDevice(userFCM, payload)
    }

我看到错误没有返回承诺或价值。但我不知道我应该把它放在哪里。有人可以帮忙吗?

更新: 这是完整的代码

for (var playerUid in players) {

         admin.database().ref('/users/' +  playerUid ).once('value', snapshot => {

          var data = snapshot.val();

          var userFCM = data["fcm"];
          console.log("userFCM: ", userFCM);

          var payload = {
              notification: {
              title: title,
                body: body
              },
              data: {
                groupId: groupId
              }
            };
            return admin.messaging().sendToDevice(userFCM, payload)
              .then(response => {
                console.log("Successfully sent message:", response);
              }).catch(function(error) {
                console.log("Error sending message:", error);
              });

          })
    }

1 个答案:

答案 0 :(得分:0)

试试这个,

return admin.messaging().sendToDevice(userFCM, payload);

如果这不起作用,我会请你在问题中加入更多细节。这样我就可以彻底检查这个问题了。