Questão de Programação — Linguagens de marcação — VUNESP 2023
- Código
- vu078976
- Banca
- VUNESP
- Órgão
- TCM-SP
- Ano
- 2023
- Nível
- Fundamental
- Cargo
- Auxiliar Técnico de Controle Externo - Técnico de Informática
- A1 vez.
- B2 vezes.
- C3 vezes.
- D4 vezes.
- E5 vezes.
GabaritoD — 4 vezes.
Gabarito: letra D. O evento onreadystatechange é acionado cada vez que a propriedade readyState do objeto XMLHttpRequest sofre alteração. O readyState possui 5 valores possíveis (0 a 4), gerando no máximo 4 transições e, consequentemente, 4 disparos do evento. A banca testa o conhecimento sobre estados da requisição AJAX.
readyState | Valor | Descrição |
|---|---|---|
UNSENT | 0 | Objeto criado, mas |
OPENED | 1 |
|
HEADERS_RECEIVED | 2 |
|
LOADING | 3 | Dados parciais estão sendo recebidos |
DONE | 4 | Operação concluída |
O evento onreadystatechange é disparado a cada mudança de estado. Partindo do estado 0 (inicial), ao chamar open() vai para 1 (1º disparo); ao chamar send() passa por 2 (2º disparo); depois para 3 (3º disparo); e finalmente para 4 (4º disparo). Portanto, o máximo de acionamentos é 4 vezes.
Afirma que o evento é acionado no máximo 1 vez. Na verdade, o readyState muda várias vezes ao longo de uma requisição, gerando múltiplos disparos.
Afirma 2 vezes, o que corresponderia a apenas duas transições, enquanto existem quatro.
Afirma 3 vezes, ignorando a transição final para o estado 4 (DONE).
Afirma 4 vezes, que é o número correto de mudanças de estado (0→1, 1→2, 2→3, 3→4). Cada mudança aciona o evento uma vez.
Afirma 5 vezes. Esse valor seria obtido se contássemos o estado inicial 0 como um disparo, mas o evento só é acionado quando há mudança de estado, não no momento da criação.
Associe o número de disparos à quantidade de transições entre os 5 estados. Lembre-se que o estado inicial (UNSENT) não gera evento. Assim, de 0 a 4 são 4 transições, portanto 4 acionamentos. Esse raciocínio evita confundir com o número total de estados (5).
Gabarito: letra D (4 vezes).
Link permanente: /questoes/vu078976