Node.js “我应该把它放在哪里?”;return";在云端触发
我是Node.js新手,我正在尝试创建一个firebase,当一个新的更新应用于firebase实时数据库节点时,它可能会触发执行。 我有这样的js代码结构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) } 我看到没有回报承诺或价值的错误。但我不知道应该把它放在哪里。有人能帮忙吗 更新
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返回一个值呢?我刚刚更新了这个问题,以包含完整的循环代码