Как правильно использовать Promise для полной синхронности?

Есть функция

function func() {
    getData().then(result => {
      // Код
    });
  }

  return [
    {
      // код
    },
  ];
}

Из нее мы вызываем метод, который делает запрос и возвращает промис.

async function getDataRequst() {
  const response = await getData(); // getData это запрос, который возвращает промис.

  return response;
}

function getData() {
  return new Promise<any>(resolve => {
        const data = await getDataRequest();
        resolve(data);
      }
}

Должно работать оно так: 1. Мы вызываем метод func, у нас выполняется промис, который находится в getData, далее с ним что-то происходит в then'e и только потом срабатывает return. Сейчас return срабатывает ровно в тот момент, когда вызывается метод getData, не дождавшись, пока выполнится промис. Очень мало работал с промисами, и не могу понять, в чем дело.


Ответы (1 шт):

Автор решения: Armen
function func(){
    return [
        {
          // код
        },
    ];
}

getData()
.then(result => {
// Код
})
.then(func)
→ Ссылка