Задать вопрос
@zlFast

Как сделать, чтобы функция возвращала результат запроса?

Я делаю так:
var test = myFunc(2);
Если моя функция будет выглядеть так, то переменная test будет равна 4:
function test(id){
return id*2
        }


Но мне нужно внутри функции послать запрос, пробую так, не получается:
function test(id) {
            return  myService.getById(id).then(function (result) {
                return result[0].name;
            });
        }
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Ваша функция вернет промис, получайте результат через then
function test(id) {
            return  myService.getById(id).then(function (result) {
                return result[0].name;
            });
}

test(2).then(function(test) {
  //some code
});
Ответ написан
rpsv
@rpsv
нормально делай, нормально будет
На самом деле не очень знаком с промисами, но в таком контексте задачу лучше решать событийным подходом:
function test(id) {
	return  myService.getById(id).then(function (result) {
	    onEndTest(result);
	});
}

function onEndTest(result) {
	// обработка результата
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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