Итак, я пытаюсь вернуть массив объектов. Я хочу перечислить все объекты в определенном сегменте в облачном хранилище Google с помощью облачных функций. Ниже то, что я имею до сих пор. это возвращается и необработанное обещание.
export const getAlbums = functions.https.onCall(() => {
return new Promise(async (resolve, reject) => {
//const bucket = admin.storage().bucket('kais-e4ba9.appspot.com')
const { Storage } = require("@google-cloud/storage");
const storage = new Storage();
const bucket = storage.bucket("bucketName");
resolve(bucket)
}).catch(err => {
console.log(err.message);
});
});
Я написал аналогичную функцию, которая возвращает массив документов из firebase firestore.
export const getGenres = functions.https.onCall(() => {
//if (!context.auth) return {status: 'error', code: 401, message: 'Not signed in'}
return new Promise((resolve, reject) => {
const array = [{}];
const ref = admin.firestore().collection("genres");
// filter out inaActive genres
const query = ref.where("isActive", "==", true);
query.onSnapshot(querySnapshot => {
// Add genres into an array
const genres = querySnapshot.docs.map(documentSnapshot => {
return {
...documentSnapshot.data(),
key: documentSnapshot.id // required for FlatList
};
});
array.push(genres);
resolve(array);
});
});
});
Это то, что он возвращает при входе в консоль. Я хочу отобразить тот же результат, когда я вызываю облачную функцию для перечисления объектов в корзине.
https://firebasestorage.googleapis.com/v0/b/kais-e4ba9.appspot.com/o/Screen%20Shot%202020-01-07%20at%207.22.27%20PM.png?alt=media&token=b777d63d-3053-4453-86e7-1e2f19f97a51