Firebase Cloud Function,触发onWrite方法并在检索用户数据时出现问题

问题描述 投票:0回答:1

This is the cloud function that triggers when data is changed,created or deleted.在此函数中,我标记了代码,在其中我想检索存储在具有相同ID的实时数据库的另一个节点中的用户令牌。您可以在实时数据库中看到。但是我无法从数据库中获取令牌。请帮助我解决此问题。

This is Structure of my realtime database.我想从该云函数的数据库中获取令牌

javascript firebase-realtime-database google-cloud-functions firebase-cloud-messaging android-push-notification
1个回答
0
投票

[once()方法是异步的,并返回一个Promise,但是您不必等待这个Promise解析即可获取节点的值。

由于您将Cloud Function声明为异步函数,因此以下方法可以解决问题

once()

此外,建议避免混合使用异步/等待//... const deviceTokenSnap = await admin.database().ref(`tokens/${userId}/token`).once('value'); const token = deviceTokenSnap.val(); //...

您应该按如下所示调整函数的结尾:

then()

您还应该使用try / catch块,请参见const response = await admin.messaging().sendToDevice(...); console.log(response); return null;


最后,请避免添加您的IDE的屏幕截图,但是将代码复制/粘贴到您的问题中。

© www.soinside.com 2019 - 2024. All rights reserved.