@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;
            });
        }
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 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) {
	// обработка результата
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы