2010-11-10 10 views

Respuesta

81

El valor predeterminado es 0 (technically it's undefined, pero se comporta como 0). Esto significa que no hay tiempo de espera en jQuery en sí ... si el navegador tiene un tiempo de espera es completamente posible, llegará a eso.

Solo cuando se especifica timeout opción does jQuery even call setTimeout().

+0

mis pruebas sugieren que erkmene, arriba, es realmente correcto - el navegador establece el tiempo de espera ... – hwjp

+2

@hwjp - el número de línea en la fuente ha cambiado en las versiones recientes, pero la respuesta anterior sigue siendo correcto, tenga en cuenta el checkout 'timeout> 0' en jQuery mismo: https://github.com/jquery/jquery/blob/master/src/ajax.js#L700 Esta no es una pregunta sobre raw' setTimeout (myFunc, 0); ', se trata de la implementación' jax() 'de jQuery cuando no se especifica uno. El valor predeterminado sigue siendo 'undefined', pero se comporta como 0 en las comprobaciones [como se puede ver aquí] (https://github.com/jquery/jquery/blob/master/src/ajax.js#L277). El valor predeterminado ** para jQuery ** (lo que la pregunta estaba haciendo) sigue siendo efectivamente 0. –

+11

Claro, creo que la mayoría de las personas se preocupan más por el tiempo de espera efectivo ... Por lo tanto, la mejor respuesta sería "por defecto el timeout es establecido por el navegador "- seguido de una explicación técnica de por qué + cómo ... – hwjp

Cuestiones relacionadas