我正在使用Angular的HttpClient来进行HTTP请求,我想为它们指定超时时间。
我知道可以使用HTTPInterceptors并向RxJS操作符添加超时,但是这些适用于整个请求,如果数据传输正在进行中,我不想中止整个请求,只有在浏览器尝试连接时挂起时才这样做。
例如,在Node.js中提供了我需要的超时类型,这在here中有很好的解释:
“假设您调用了
是否可能在Angular应用程序中拥有这样的超时?
我知道可以使用HTTPInterceptors并向RxJS操作符添加超时,但是这些适用于整个请求,如果数据传输正在进行中,我不想中止整个请求,只有在浏览器尝试连接时挂起时才这样做。
例如,在Node.js中提供了我需要的超时类型,这在here中有很好的解释:
“假设您调用了
socket.setTimeout(300)
将超时设置为300
毫秒,DNS查找花费了100毫秒,与远程服务器建立连接花费了100毫秒,
远程服务器发送响应头花费了200毫秒,传输响应主体的前半部分花费了50毫秒,
另外50毫秒。虽然整个请求和响应的时间超过了500毫秒,但超时事件根本没有发生。”是否可能在Angular应用程序中拥有这样的超时?
AbortController
的方法中止请求也是一种hack? - C.OG