避免使用嵌套功能,Google Cloud功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免使用嵌套功能,Google Cloud功能相关的知识,希望对你有一定的参考价值。
javascript新手,所以我感谢您的耐心......我正在寻找一个Google Cloud功能,它会在数据库输入时发送消息。它必须从数据库中的多个位置获取数据。以下是我到目前为止:
exports.NotifyNewApplication = functions.database
.ref(`/Applications/{applicationId}/appWith`)
.onCreate((snapshot, context) => {
var applicationId = context.params.applicationId;
console.log('status', applicationId);
var recieverId = snapshot.val();
var database = admin.database().ref(`/Applications/${applicationId}`);
return database.once('value').then(snapshot=>{
var nameId= snapshot.child("dogId").val();
console.log('status', snapshot.child('nameId').val());
console.log('status', snapshot.child('appWith').val());
var userDatabase = admin.database().ref(`/users/TopUsers/${recieverId}/token`)
return userDatabase.once('value').then(snapshot=>{
var token = snapshot.val();
console.log('status', snapshot.val());
var nameDatabase = admin.database().ref(`/names/${nameId}/name`)
return nameDatabase.once('value').then(snapshot=>{
var Name= snapshot.val();
const message = {
notification: {
title: 'Application Recieved',
body: 'Somebody has put an application in for '+Name,
icon: "default"
},
};
return admin.messaging().sendToDevice(token,message).then((response) => {
return console.log('Successfully sent message:', response);
}).catch((error) => {
return console.log('Error sending message:', error);
});
});
});
});
});
然而,哪个有效,我得到一个警告说
38:16 warning Avoid nesting promises promise/no-nesting
42:16 warning Avoid nesting promises promise/no-nesting
51:16 warning Avoid nesting promises promise/no-nesting
51:16 warning Avoid nesting promises promise/no-nesting
讨论嵌套承诺并查看每个区域的返回线。我的问题是,我似乎无法理解如何取消嵌套返回并获得相同的工作结果。
我很感激任何人的指导。
以上是关于避免使用嵌套功能,Google Cloud功能的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud Storage 上传是不是会触发 Firebase Cloud 功能?
导出 Firestore 备份数据的云功能。使用 firebase-admin 或 @google-cloud/firestore?
在 Firebase 中使用 Google Cloud 功能接收电子邮件
如何使用 Google Cloud 功能和 MQTT 桥接器更新设备配置