На данный вопрос уже ответили:
Есть следующий код:
async function _updateGroupVariants(variantsGroups, options, id) {
var logs = '';
var logObj = {};
logObj.date = moment().format('DD-MMM-YYYY_HH-mm');
logObj.fileName = `${id}_${logObj.date}.log`;
// Запускаем цикл, где нужно последовательно выполнить промисы
await variantsGroups.forEach(async (variants, index) => {
options.obj = variants;
// Промис, который нужно выполнить один за другим
await _senfToInsales(options, index)
});
function _senfToInsales(opt, i){
return insales.editVariantsCount(opt)
.then(response => {
for(var x = 0, len2 = response.data.length; x < len2; x++){
var fieldNum = 0;
if (i > 0) {
fieldNum = i * 100 + x;
} else {
fieldNum = x;
}
if(response.data[x].errors !== undefined){
logs += `${fieldNum}. Ошибка при обновлении модификации ${response.data[x].id}: ${response.data[x].errors.id[0]}\n`;
} else {
logs += `${fieldNum}. Успешно обновлена модификация ${response.data[x].id}\n`;
}
}
console.log(i)
})
.catch(err => {});
}
};
Как сделать, что бы промис запускался только после загрузки промиса с прошлой итерации?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости