У меня возникли проблемы с получением данных из документа и использованием одного поля из этого документа в качестве параметра моей облачной функции расписания, сначала я пытаюсь получить документ, затем вызываю функцию getData () и использую эту переменную чтобы вызвать .data из него, и я вызываю .get () с ожиданием, но я получаю эту ошибку.
Свойство data не существует для типа Promise>.
И я не могу позвонить await getData();
, потому что получаю эту ошибку
Выражения верхнего уровня 'await' разрешены, только если для параметра 'module' задано значение 'esnext' или 'system', а для параметра 'target' установлено значение 'es2017' или выше.
Можно обойти это? Сначала мне нужно получить данные, содержащие день месяца, в котором я буду запускать функцию расписания.
это мой код:
import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
/// Get the config data for schedule time and debt payment
async function getData() {
return await admin.firestore().doc("neighbors/0000_admin").get();
}
const configData = getData();
/// Updates the debt for each neighbor on a specific day of each month
export const debtUpdatePerMonth = functions.pubsub
.schedule(`${configData?.data()?.day_of_month_to_pay} of month 06:00`)
.onRun(async (context) => {
return admin
.firestore()
.collection("neighbors")
.get()
.then((snapshot) => {
snapshot.forEach((doc) => {
return doc.ref.update({
debt: doc.data()?.debt + configData?.data()?.monthly_pay,
});
});
});
});
Заранее спасибо