@Almatyn

Возврат Promise.then и повторное .then — почему приходит undefined?

test().then(function(response){
	alert('test ' + response) // response приходит undefined
})


function delay() {
	return new Promise(function(resolve,reject) {
		setTimeout(function() {
			resolve('success');
			//reject('error');
		},2000);
	});
}

function test() {
  return delay().then(function(response) {
    alert('Promised! ' + response );
  });
}
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
@h88p
Pre-Junior HTML Developer
function test() {
  return delay().then(function(response) {
    alert('Promised! ' + response );
    return response;
  });
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Потому что за alert 'Promised!' у вас не следует никакого return. Следовательно, результат функции - undefined, который и передаётся дальше по цепочке.
Ответ написан
Ваш ответ на вопрос

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

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