Как правильно использовать 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)