【发布时间】:2020-04-08 10:29:18
【问题描述】:
我正在使用 Angular 的 HttpClient 发出 HTTP 请求,我想为它们指定超时时间。
我知道我可以使用 HTTPInterceptors 并向 RxJS 运算符添加超时,但是,这些适用于整个请求,如果数据传输正在进行,我不想中止,只有当浏览器在尝试连接时挂起时.
例如,我需要的那种超时可以在 Node.js 中得到很好的解释 here:
假设您调用
socket.setTimeout(300)将超时设置为 300 毫秒,DNS 查找需要 100 毫秒,建立连接需要 100 毫秒 使用远程服务器,远程服务器发送响应需要 200 毫秒 标头,50 ms 用于传输响应正文的前半部分 其余 50 毫秒。虽然整个请求和响应 耗时超过 500 毫秒,根本没有发出超时事件。
在 Angular 应用程序中是否可以有这样的超时?
【问题讨论】:
标签: javascript angular http timeout