Node.js “我应该把它放在哪里?”;return";在云端触发

Node.js “我应该把它放在哪里?”;return";在云端触发,node.js,firebase,firebase-realtime-database,Node.js,Firebase,Firebase Realtime Database,我是Node.js新手,我正在尝试创建一个firebase,当一个新的更新应用于firebase实时数据库节点时,它可能会触发执行。 我有这样的js代码结构 for (var player in players) { admin.database().ref().. { .. admin.messaging().sendToDevice(userFCM, payload) } 我看到没有回报承诺或价值的错误。但我不知道应该把它放在哪里。有人能帮忙吗 更新

我是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);
              });

          })
    }
这样试试看

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

如果这不起作用,我会要求你在问题中提供更多细节。因此,我可以彻底检查问题。

请熟悉文档-学习示例代码@DougStevenson也很好。我阅读了文档并设法完成了IOS操作,但我无法理解Node.js部分!我是IOS开发人员,不是node.jsYes,您可能需要花一些时间学习新的语言和环境。我花了一些时间学习并编写了所需的函数。而且它有效!但是我被困在这里。。我不需要你告诉我该做什么我没有投反对票。仅供参考,关于承诺如何工作的误解是Firebase云功能目前面临的#1支持问题。我们经常看到这类问题。实际上,对每个人来说,解决这些问题的方法是鼓励人们花时间学习系统如何工作,并应用工程团队提供的示例代码中设置的模式。我相信这将停止for循环的执行,我错了吗?当然,你是对的。它将停止循环并防止它再次发生。那么,当我在循环中执行所有工作时,我如何为firebase返回一个值呢?我刚刚更新了这个问题,以包含完整的循环代码