Przejdź do głównej zawartości

promise1 i promise2 to obiekty Promise, co jest wyraźnie logowane do konsoli w liniach 8 i 9.

promise2, mimo że w założeniu rozwiązuje się do obiektu promise1, finalnie zostaje rozwiązane do wartości foo.

resolve() spłaszcza przekazane obietnice jeśli takie zostają przekazane jako wartość rozwiązania obietnicy i rozwiązuje je wszystkie.

value po rozwiązaniu promise2, będzie więc wartością przekazaną w resolve() w promise1.

value === promise1 zwróci więc fałsz, bo value to foo, a nie obiekt obietnicy promise1.