Esiste una soluzione in jQuery che ci permette di ritardare l'esecuzione del codice usando i Deferred Object.
La soluzione è la seguente:
$.wait = function( time ) {
var deferred = $.Deferred(function( dfd ) {
setTimeout( dfd.resolve, time );
});
return deferred;
};
Esempio d'uso:
$.wait( 3000 ).then(function() {
alert( "Hello world" );
});