Я реализовал функцию тайм-аута, как показано ниже для метода http в слое отдыха (обычное место для обработки всех веб-сервисов в приложении). Тайм-аут реализован в угловом формате, чтобы предупредить пользователя переднего плана с сообщением о тайм-ауте, если вызов веб-службы не возвращает ответ на вызов службы в течение 3 секунд.
return this.http.request(new Request(requestOptionsArgs)).pipe(
timeout(timeOutVal), //value is 3000
map(res => this.extractData(res)),
catchError(err => throwError(this.handleError(err, errroObj)))
);
В некоторых случаях, когда ответ webserivce занимает более 3 секунд, приложение отменяет вызов веб-службы через 3:01 секунды с помощью функции tiemout и работает нормально, как и ожидалось. Но иногда тайм-аут происходит до 3 секунд. пример (Тайм-аут происходит в 2:50 секунд) Не уверен, почему тайм-аут происходит раньше, чем в секундах, настроенных для тайм-аута. (Тайм-аут (1000))
Пожалуйста, предоставьте некоторые входные данные.