当新节点添加到 Firebase 实时数据库中的特定路径时,我们编写了向用户及其联系人发送电子邮件的代码。
发送电子邮件的平均时间为 4 分钟。我们认为问题是由于等待一些必要的承诺。我们希望缩短运行时间。你有什么建议吗?提前致谢!
这是我们的代码:
const functions = require("firebase-functions");
const nodemailer = require('nodemailer');
require('dotenv').config()
//for fire store
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
const { SENDER_EMAIL, SENDER_PASSWORD } = process.env;
exports.sendEmails = functions.database.ref("/devices/{device_ID}/history/{alert_ID}")
.onWrite(
(snapshot, context) => {
sendMail(snapshot, context);
return true;
}
);
async function sendMail(snapshot, context){
const { before, after } = snapshot;
// new alert created
if (before.val() == null) {
console.log('DEBUG:: NEW ALERT');
// get owners uID from device ID
const …Run Code Online (Sandbox Code Playgroud) node.js async-await firebase nodemailer google-cloud-functions