Я пытаюсь заставить мое приложение отображать мои данные в массиве из Firestore в SSR с использованием asyncData. Моя функция вне asyncData работает нормально, но я НЕ могу заставить ее работать внутри.
Я пробовал очень много способов получения массива из asyncData для рендеринга. Я пытаюсь вернуть данные в «аддоны», чтобы они заполняли форму так же, как мой метод.
Вот мой метод работы
async getAddons() {
var addonsRef = db
.collection('addons')
.where('publish', '==', true)
.orderBy('timeUpdated', 'desc');
await addonsRef.get().then(snapshot => {
snapshot.forEach(doc => {
const addons = {
...doc.data(),
id: doc.id
};
return this.addons.push(addons);
});
});
},
А вот код, который я сейчас пробую внутри asyncData
async asyncData({ app, error }) {
const addonsRef = await db
.collection('addons')
.where('publish', '==', true)
.orderBy('timeUpdated', 'desc');
try {
await addonsRef.get().then(snapshot => {
snapshot.forEach(doc => {
const addons = {
...doc.data(),
id: doc.id
};
return app.addons.push(addons);
});
});
} catch (e) {
// TODO: error handling
console.error(e);
}
return app.addons.push(addons);
},
Я ожидаю, что код asyncData заполнит массив, чтобы он заполнил мой шаблон так же, как функция getAddons.
Какую простую вещь мне не хватает?