Как получить значения переменной в промисе без использования console.log

Результат операции 2+2 в переменной a, можно получить через

var a = 2 + 2; 
console.log(a);

а можно просто обращаться к переменной "a", без использования console.log

var a = 2 + 2; 
a;

Нижеприведенный скрипт работает и выводит результат (4 и 5), только благодаря команде "console.log(foo)" см.ниже

function f1() 
{ 
  return new Promise(resolve =>
    {
        var foo = 2 + 2;
        resolve(console.log(foo)); 
    })
}

function f2() 
{ 
  return new Promise(resolve =>
    {
        var foo = 2 + 3;
        resolve(console.log(foo)); 
    })
}
f1()
.then(a => {return a;})
.then(f2)
.then(a => {return a;});

если убрать эту команду то скрипт уже не выводит результат, почему так? и как сделать чтобы работало и без этой команды

function f1() 
{ 
  return new Promise(resolve =>
    {
        var foo = 2 + 2;
        resolve(foo); 
    })
}

function f2() 
{ 
  return new Promise(resolve =>
    {
        var foo = 2 + 3;
        resolve(foo); 
    })
}
f1()
.then(a => {return a;})
.then(f2)
.then(a => {return a;});


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

Автор решения: egor.bokov

У вас просто используется return, который возвращает значение, но не отображает. Если принципиально не хочется использовать console.log() - есть прекрасный console.dir();

Однако, можно попробовать просто вписать этот код в консоль браузера и тогда это вполне может отображаться в консоли без лишних обращений в методу отображения.

→ Ссылка