Ваше предположение было правильным, ваш код не ждет выполнения обещаний. Поскольку вы на самом деле не mapping
что-то (вы ничего не возвращаете из своего map
и скорее нажимаете на переменную test
), это можно упростить, используя простой for .. of
:
for (const element of array1) {
test += ' ' + element;
// Just a async request for testing. Return a name
const pData = await property.getPropTotalUnitsByCompany(73);
pData.forEach((propData) => {
test += ' ' + propData.PropertyName;
});
}
Вот немного адаптированная версия вашего кода:
const someAsyncFunc = () => new Promise(resolve => setTimeout(() => resolve(["x", "y"]), 10));
(async () => {
let test = `Start`;
const array1 = ['A', 'B'];
for (const element of array1) {
test += ' ' + element;
// Just a async request for testing. Return a name
const pData = await someAsyncFunc();
pData.forEach((propData) => {
test += ' ' + propData;
});
}
console.log(test); // prints "Start A x y B x y"
})()