У меня есть этот код, который, как предполагается, l oop через изображения, чтобы загрузить их в firebase, затем взять их ссылки и поместить его в класс Product, чтобы продукт мог иметь ссылку на свои изображения. Затем загрузите продукт тоже. Проблема в том, что загрузка не дожидается вставки своих ссылок на продукт. Код
List<String> imgUrls = [];
Future<void> loopThroughMap()async{
_map.forEach((storedImage, inGallery) async {
if (!inGallery && storedImage != null && storedImage.path != null) {
await GallerySaver.saveImage(storedImage.path);
}
String urlString = await FirestoreHelper.uploadImage(storedImage);
imgUrls.add(urlString);
});
}
Эта функция вызывается здесь
`
await loopThroughMap();
print('FINISHED THIS ONE, imgs Urls length ${imgUrls.length}');
for (int i = 0; i < imgUrls.length; i++) {
if (i == 0)
_editedProduct.imageUrl = imgUrls[i];
else if (i == 1)
_editedProduct.imageUrl2 = imgUrls[i];
else if (i == 2)
_editedProduct.imageUrl3 = imgUrls[i];
else if (i == 3) _editedProduct.imageUrl4 = imgUrls[i];
}`
Длина списка imgUrls ВСЕГДА равна нулю. Может ли быть проблема с map.foreach?