Задача JS

Задача JS

@frontend_tests

Ответ:

Promise {<pending>}
Hello
Promise {<fulfilled>: 'Hello'}

Обьяснение:

Promise может находиться в трёх состояниях:

  • ожидание (pending): начальное состояние, не исполнен и не отклонён.
  • исполнено (fulfilled): операция завершена успешно.
  • отклонено (rejected): операция завершена с ошибкой.

Первой будет выведена последняя строка, т.к. код выполняется синхронно. В этот момент промис находится в статусе ожидания, поэтому выведется Promise {<pending>}

Через 2 секунды промис зарезолвится и выведется значение, которое мы передали, т.е. Hello.

Сразу после этого выведется Promise {<fulfilled>: 'Hello'}, т.к. промис вошел в состояние "исполнено".

Более подробно изучить теорию можно на моём втором канале Frontend Study

Код для проверки:

const front_tests = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Hello');
  }, 2000);
});

front_tests.then((value) => { 
  console.log(value); 
  console.log(front_tests); 
}); 

console.log(front_tests);

Report Page