@@ -612,7 +612,7 @@ class AutoComplete {
612612 }
613613 }
614614
615- makeRequest ( params : Params , callback : any , callbackErr : any , retryNumber : number ) : XMLHttpRequest {
615+ makeRequest ( params : Params , callback : any , callbackErr : any ) : XMLHttpRequest {
616616 var propertyHttpHeaders : string [ ] = Object . getOwnPropertyNames ( params . HttpHeaders ) ,
617617 request : XMLHttpRequest = new XMLHttpRequest ( ) ,
618618 method : string = params . _HttpMethod ( ) ,
@@ -647,10 +647,15 @@ class AutoComplete {
647647 }
648648 } ;
649649
650- request . ontimeout = function ( ) {
651- var retryRequest = AutoComplete . prototype . makeRequest ( params , callback , callbackErr , ++ retryNumber ) ;
652- AutoComplete . prototype . ajax ( params , retryRequest , false ) ;
653- } ;
650+ if ( params . RequestTimeout ) {
651+ request . ontimeout = function ( ) {
652+ var retryRequest = AutoComplete . prototype . makeRequest ( params , callback , callbackErr ) ;
653+ if ( this . retries <= params . MaxTimeoutRetries )
654+ retryRequest . timeout = params . RequestTimeout
655+ retryRequest . retries = ++ this . retries ;
656+ AutoComplete . prototype . ajax ( params , retryRequest , false ) ;
657+ } ;
658+ }
654659
655660 return request ;
656661 }
@@ -676,8 +681,13 @@ class AutoComplete {
676681 var response : string | undefined = params . _Cache ( params . _Pre ( ) ) ;
677682
678683 if ( response === undefined ) {
679- var request : XMLHttpRequest = AutoComplete . prototype . makeRequest ( params , callback , callbackErr , 0 ) ;
684+ var request : XMLHttpRequest = AutoComplete . prototype . makeRequest ( params , callback , callbackErr ) ;
680685
686+ if ( params . RequestTimeout ) {
687+ request . timeout = params . RequestTimeout ;
688+ request . retries = 0 ;
689+ }
690+
681691 AutoComplete . prototype . ajax ( params , request ) ;
682692 } else {
683693 callback ( response ) ;
0 commit comments