【发布时间】:2021-09-15 02:00:46
【问题描述】:
我想从 firebase 存储中获取数据联系人,然后从 firestore 存储中获取联系人照片。
get_contact = async () => {
let contacts = [];
let campaignsRef = await firestore().collection('users').doc(global.iduser).collection("contacts").get();
for (let campaign of campaignsRef.docs) {
let tasksRef = firestore().collection('users').doc(campaign.data().uid).get();
await tasksRef
.then(DocumentSnapshot => {
let data = DocumentSnapshot.data();
let photo = new Promise((resolve, reject) => {
storage()
.refFromURL('gs://think-ce51b.appspot.com/profiledefault.jpg')
.getDownloadURL()
.then(url => {
resolve(url);
})
.catch(error => {
return reject(error);
});
});
console.log(photo);
contacts.push({
'key': data.uid,
'fullname': data.fullname,
'profilephoto': photo,
});
})
.catch(error => {
setInitializing(false);
});
}
setdataContacts(contacts);
setInitializing(false);}
我可以从 DocumenSnapshot 获取数据联系人。但是当我想从 firebase 存储中获取 url 时,照片返回 null/{"_U": 0, "_V": 0, "_W": null, "_X": null}。我认为可变照片中的新承诺无法正常运行。
如何在照片获取网址后才推送给联系人?
【问题讨论】:
标签: javascript google-cloud-firestore async-await firebase-storage