ID: 2916 OOP - Podstawy Średnie

Źródło: Arkusze CKE

Co zostanie wyświetlone po wykonaniu poniższego kodu JavaScript?
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('success');
}, 1000);
});

promise
.then(res => {
console.log(res);
return 'first then';
})
.then(res => {
console.log(res);
});

Warianty odpowiedzi

  1. A

    first then

  2. B

    success

  3. C

    success, first then

  4. D

    first then, success

Wyjaśnienie

Mamy tu do czynienia z obietnicą (Promise) oraz łańcuchowaniem metod then.

Po 1 sekundzie obietnica przechodzi w stan spełniony i przekazuje wartość success. Pierwszy blok then odbiera tę wartość, wypisuje ją w konsoli, a następnie zwraca nowy napis first then.

Wartość zwrócona z pierwszego then jest automatycznie przekazywana do kolejnego bloku then w łańcuchu.

Drugi blok wypisuje odebraną wartość w konsoli. Dlatego dostajemy w kolejności: success oraz first then.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy