VUNESP — Analista Judiciário - Informática — Software — 2023

Enunciado

O seguinte código JavaScript console.log("1"); setTimeout(() => { console.log("2"); }, 1); process.nextTick(() => { console.log("3"); }); quando executado no Node.js produz a saída:

Alternativas

  1. A)

    2 1 3

  2. B)

    3 1 2

  3. C)

    3 2 1

  4. D)

    1 2 3

  5. E)

    1 3 2

Gabarito e comentário

Resposta correta: E

A alternativa E está correta. A chamada síncrona console.log("1") é executada primeiro. Em seguida, o callback registrado por process.nextTick entra na fila própria do Node.js, processada antes da fila de temporizadores. Somente depois é executado o callback de setTimeout, ainda que o atraso informado seja de um milissegundo. A ordem observada é, portanto, 1, 3 e 2. Assim, a resposta é: 1 3 2

Questões relacionadas