Как синхронно выполнить промисы в цикле? [дубликат]

193
14 августа 2018, 02:10

На данный вопрос уже ответили:

  • Как последовательно вызвать асинхронную функцию с коллбеками? 2 ответа
  • Как вернуть значение из события или из функции обратного вызова? Или хотя бы дождаться их окончания 3 ответа

Есть следующий код:

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 => {});  
  } 
};

Как сделать, что бы промис запускался только после загрузки промиса с прошлой итерации?

READ ALSO
webpack 4 MiniCssExtractPlugin и webpack-merge

webpack 4 MiniCssExtractPlugin и webpack-merge

Пытаюсь настроить webpack4 , всё работает как надо, за исключением выноса стилей из js файлабез webpack-merge работает, с webpack-merge не видит файла

231
Log-out из сервера авторизации

Log-out из сервера авторизации

На Angular2 для OIDC/OAuth2 авторизации я использую "oidc-client-js" библиотекуСтандартно, для обновления токенов используется silent-refresh

158
javascript и несколько input text

javascript и несколько input text

Прошу помочь решить проблемуЕсть два поля ввода, которые затем формируют список

186
Разделительные полоски в меню

Разделительные полоски в меню

Делаю с помощью border-right по всем div:

190