Axios, вызывающие функцию Oncumentcreated, инициируемую HTTPJavascript

Форум по Javascript
Ответить
Anonymous
 Axios, вызывающие функцию Oncumentcreated, инициируемую HTTP

Сообщение Anonymous »

const {onDocumentCreated} = require("firebase-functions/v2/firestore");
const {initializeApp} = require("firebase-admin/app");
const {getFirestore} = require("firebase-admin/firestore");
const axios = require("axios");

initializeApp();
const db = getFirestore();

exports["onQuestCreate"] = onDocumentCreated(
{
document: "topics/{topicId}"
},
async (event) => {
const snap = event.data;
if (!snap) {
console.error("❌ No data found in Firestore event.");
return;
}

const data = snap.data();
const topic = data.name;
const classLevel = data.classLevel;
const topicId = event.params.topicId;

try {

const response = await axios.post(//REQUEST HERE);

const data = JSON.parse(response);

// Create batch write
const batch = db.batch();

data.forEach((q) => {
const questionRef = db.collection("questions").doc();
batch.set(questionRef, {
topicId,
classLevel,
questionType: q.questionType,
question: q.question,
options: q.options || null,
correctAnswer: q.correctAnswer || null,
audioAnswerUrl: null,
createdAt: new Date(),
});
});

await batch.commit();
console.log(`🎉 Successfully added ${questions.length} questions to Firestore!`);
} catch (error) {
console.error("❌ Error in question generation:", error);
throw error;
}
});
< /code>
Я пытаюсь сохранить данные в Firestore на основе документов, обработанных в коллекции Firestore. WHE I код без запроса Axios, который я получаю данные от API. Он работает нормально и запускается, но с помощью запроса он не запускается, а также перечисляется в функции: список как запуск HTTP. Что я делаю не так?
Funciton указан как:
/п>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-by-http
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»