@sid Can we have the url to the page which shows your "solution" ?
-- DBJ ps: an simple generic and reusable "async worker" : function do_async( callback , optional_host, optional_microseconds ) { var that = optional_host || this ; var timer_id = window.setTimeout ( function () { try { callback.call(that) ; } catch ( x ) { window.alert("Exception in callback for do_async:\n" + x.message ) ; } window.clearTimeout(timer_id); timer_id = null ; } , optional_microseconds || 1 // 1 is default ) ; } // Call the above with your "this" if you need to : function sids_object () { this.name = "Sid" ; this.ordinal = 1 ; this.work = function () { alert( this.name + ":" + (this.ordinal+ +) +" is done."); } this.async_work = function() { do_async( this.work, this, 1000 ) } } var as = new sids_object() ; for( var j = 0 ; j < 10; j++ ) as.async_work() ; Call with any other instance you want to pass as 'this' : do_async( function() { alert( ""+this ) ; }, new Date() ) ;