Итак, вот мой код:
getOutfitsCollectionData(): Promise<any> {
let outfitsRef = this.afStore.collection('outfits');
let allOutfits = outfitsRef.snapshotChanges().pipe(
map(actions=>{
return actions.map(a=>{
const id = a.payload.doc.id;
return id
})
})
)
let outfitsID = allOutfits.forEach(outID=>{
console.log(outID)
return outID
})
return outfitsID
}
}
Когда я делаю эту часть
let outfitsID = allOutfits.forEach(outID=>{
console.log(outID)
return outID
})
Консоль дает мне это:
console perfect
Это именно то, что я хочу, я просто хочу переименовать массив и установить его как результат моей функции, но каждый console.log, который я помещаю в эти строки, ничего не делает, поэтому кажется, что каждая строка ниже ничего не делает.
Если я не понимаю, скажите мне, ребята!
Я пытаюсь получить идентификатор каждого документа из моей коллекции, чтобы использовать его в другой функции на той же вкладке.
Я думаю, что было бы проще создать сервис, но я действительно не знаю, как это сделать.
Пожалуйста, не заставляйте меня забанить еще раз, я просто пытаюсь научиться ... Было бы неразумно отправлять меня на действительно общую тему. это работает, я хочу понять и поправиться.
Спасибо за вашу помощь, ребята!
(кстати, извините за мой плохой английский sh, я француз :))
Так что немного отредактируйте:
Я попробовал этот код, я действительно не понимаю, почему, когда я console.log allOutfits, я не получаю хорошее значение:
async getOutfitsCollectionData(){
let outfitsRef = this.afStore.collection('outfits');
let allOutfits = await outfitsRef.get().toPromise().then((step)=>{
return step.forEach(doc=>{
if (!doc.exists){
console.log('Zut !')
}else{
console.log(doc.id)
return doc.id
}
})
})
.catch(err=>{
console.log('Error getting outfits', err)
})
console.log(allOutfits)
return allOutfits
}