SetTimeOut a menudo se usa para retrasar la ejecución de una función, y se usa como:
La copia del código es la siguiente:
setTimeOut (function () {
…
}, se acabó el tiempo);
A veces, SetTimeOut (función ..., 0) se usa para el procesamiento asincrónico; Por ejemplo:
La copia del código es la siguiente:
función f () {
… // Prepárate
setTimeOut (function () {
…. // Haz algo
}, 0);
devolver …;
}
Antes del procesador de funciones establecido por SetTimout, la función F devuelve;
Tenga especialmente cuidado al usar el procesamiento asincrónico, especialmente cuando se usa características de cierre;
Por ejemplo:
La copia del código es la siguiente:
para (var i = 0; i <10; i ++) {
setTimeOut (function () {
console.log (i);
}, 0);
}
Para los estudiantes que usan este método por primera vez, es probable que piensen que el programa imprimirá 0 ... 9, pero el resultado es que 10 se imprimen 10;
El problema es que cuando se completa el bucle, la función se ejecuta, y yo me ha convertido en 10, y 10 se usa en consola.log (i).
El propósito de agregarlo es imprimir 0 ... 9, para que pueda cambiar el método y usar los parámetros de función para guardar 0 ... .9 (en realidad, también usa cierres):
La copia del código es la siguiente:
para (var i = 0; i <10; i ++) {
setTimeOut ((función (i) {
Función de retorno () {
console.log (i);
}
}) (i), 0);
}