Когда пользователь подает запрос, создается документ firestore
с соответствующими данными. Это создание документа вызывает firebase function
, который затем отправляет электронное письмо на указанный c адрес. Он работает нормально, но как я могу получить обещание от функции возвратить предупреждение об ошибке / ошибке (на стороне клиента), когда это письмо было отправлено / не отправлено.
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
exports.request = functions.firestore.document('requests/{requestId}').onCreate(async (snapshot, context) => {
const itemDataSnap = await snapshot.ref.get();
const name = itemDataSnap?.data()?.name ? itemDataSnap?.data()?.name : 'Unbekannt';
const email = itemDataSnap?.data()?.email;
const products = itemDataSnap?.data()?.products ? itemDataSnap?.data()?.products : 'Fehler: Keine Produkte vorhanden';
return admin.firestore().collection('mail').add({
to: [...],
from: [email],
message: {
subject: ...,
html: ...
}
}).then(() => console.log('Queued email for delivery!'))
});
Как вы можете видеть, до сих пор я регистрирую 'Queued email for delivery!'
как сообщение об успехе для консоли Firebase - , но как я могу донести это на стороне клиента (до пользователя) ?