используйте answer .then () снаружи и используйте в другой части кода в узле js

Если вы изучаете регулярное выражение, вы можете также проанализировать их:

@\K[^.]++(?=\.)

(?<=@)[^.]++(?=\.)

Оба этих регулярных выражения используют притяжательные кванторы (++). Используйте их, когда можете, чтобы избежать ненужного возврата. Кроме того, используя поисковые конструкции (или \K), мы можем сопоставить часть между @ и . в $matches[0].

1
задан SyQual 10 S.A.S 1 March 2019 в 15:05
поделиться

2 ответа

arreglo.forEach((item) => {
   if (item.tipoCampo == 3) {
     self.campoSelects(item.tablaCampo)
        .then(resp => {
            logMyData(resp);
        })
         .catch(e => console.log(e))
    }
});

logMyData=(x)=>{
 console.log(x);
}

Это так же просто, как добавить вспомогательную функцию, которая выполняется внутри вашего .then

0
ответ дан Vaibhav Kumar Goyal 1 March 2019 в 15:05
поделиться

Предполагаю, что вы хотите получить доступ к значению в forloop. Так как self.campoSelects - это обещание, мы можем использовать async await.

// Call campo selects
function getCampoSelects(_self, tablaCampo) {
  return new Promise(async (resolve, reject) => {
    let campoData;

    try {
      campoData = await _self.campoSelects(tablaCampo);
    } catch (err) {
      reject(err);
    }

    resolve(campoData);
  });
}

function happyLittleFunc() {
  const arreglo = [];

  arreglo.forEach(async (item) => {
    if (item.tipoCampo === 3) {
      let campoSelect;

      // Unsure if you are setting self somewhere but it can be passed in here.
      try {
        campoSelect = await getCampoSelects(self, item.tipoCampo);
      } catch (err) {
        console.log(err);
        return;
      }

      console.log(campoSelect);
    }
  });
}

happyLittleFunc();
0
ответ дан amcnutt 1 March 2019 в 15:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: