У меня есть такой объект:
{
...,
receiptsDetailsList: {
Jan: [{}],
Feb: [{}]
},
...
}
Я пытаюсь манипулировать объектами в массивах месяцев следующим образом:
Вызов функции
this.transformToWebReceipt(this.receipts).then(newReceiptsDetailsList => {
this.invoice.receiptsDetailsList = newReceiptsDetailsList;
console.log(this.invoice.receiptsDetailsList);
Object.values(this.invoice.receiptsDetailsList).forEach(receipts => {
// undefined here
console.log(receipts[0].image);
})
//this.invoiceGenerator.createPdf(this.invoice);
});
Функция
transformToWebReceipt(receiptsData) {
let newReceiptsData = receiptsData;
return new Promise(async resolve => {
Object.values(newReceiptsData).forEach((receipts: any) => {
receipts.forEach(receipt => {
this.imagesDb.getReceiptImagesByReceiptId(receipt.mobileReceiptId).then((img: any) => {
if (img !== undefined) {
receipt.image = img.picture;
}
});
});
});
resolve(newReceiptsData);
});
}
Когда я затем пытаюсь сохранить в console.log изображение получения после манипуляции, я получаю undefined, что бы я ни делал. Тем не менее, я вижу в DevTools, что Image был установлен. У меня есть «значения, указанные ниже, были оценены только что» на DevTools. Я что-то не так делаю при установке объекта?