JavaScript код не выводит результат с первой попытки

Когда я запускаю скрипт (см. ниже) с первой попытки не удается получить результат,

переменная "result" выводит "underfined"

var result;
Promise.resolve('information')
    .then(res => {return result=res})
    result;

Попытка №1

Посмотреть результат №1

Со второй попытки уже присваивается значения

Посмотреть результат №2

Вопрос: Как ожидать присвоения значения переменной "result", без использования setTimout-ов. Сгодится цикл while или MutationObserver, но у меня не получается. Можете подсказать где у меня ошибка?

Важное условия "console.log" использовать нельзя!

Ожидание с помощью цикла While

var result;
var finito = false;
Promise.resolve('information')
    .then(res => {return result=res})

while(finito != true)
{
  if (result != undefined)
  {
    result;
    finito=true;
  }
}

Дополнение:

let promise = Promise.resolve('information');
promise.then(handler);
function handler(data) {
  return data;
}

Посмотреть результат №3


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

Автор решения: Алексей Шиманский

let promise = Promise.resolve('information');

promise.then(handler);

function handler(data) {
  console.log(data);
}

→ Ссылка
Автор решения: Marat Maksumov

Ошибка в том, что не понимаешь как устроен Event Loop и соответственно - как работает JS Runtime.

Код

var result;
Promise.resolve('information')
        .then(res => {return result=res})
        result;

обработается вовсе не последовательно. Сначала выполнятся строки 1, 2 и 4 и только после этого - строка 3.

→ Ссылка