Skip to content

Commit ade2c94

Browse files
authored
Update autocomplete.ts
1 parent 71ed2e0 commit ade2c94

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/autocomplete.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)