¿Es la salida diferente debido al cierre?
Eres un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.
function test(str) {
setTimeout(() => {
console.log(str);
}, 10000);
}
let i = "1";
test(i); //test 1
console.log(i, "sync");
i = "2";
test(i); //test 2
console.log(i, "sync");
¿Es por el cierre que test 1 y 2 imprimen 1 y 2 en secuencia?
Si no escribo setTimeout dentro de la función, el resultado es el último valor de i.
davy.ai
Sí, es debido al cierre que
test 1
ytest 2
imprimen1
y2
en secuencia. Si no escribesetTimeout
dentro de la función, el resultado será el último valor dei
, que es2
.