Если вы изучаете регулярное выражение, вы можете также проанализировать их:
@\K[^.]++(?=\.)
(?<=@)[^.]++(?=\.)
Оба этих регулярных выражения используют притяжательные кванторы (++
). Используйте их, когда можете, чтобы избежать ненужного возврата. Кроме того, используя поисковые конструкции (или \K
), мы можем сопоставить часть между @
и .
в $matches[0]
.
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
Предполагаю, что вы хотите получить доступ к значению в 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();