描述问题
以上代码在 "windows" 和 "alpine" 系统节点适配器上无法正常工作,且需要为 options.timeout 配置值以使其生效。
推测这是由于节点 API 的平台兼容性问题。
重现步骤
const http = require('http')
const startTime = Date.now()
const req = http.get('http://199.199.199.199', { timeout: 2000 }, () => {
console.log('res')
})
req.setTimeout(1000, () => {
console.log('timeout', Date.now() - startTime)
})
上述代码在 "centos" 和 "mac" 上将 timeout 设置为 1000,而在 "windows" 和 "alpine" 上设置为 2000。如果移除 options 中的 timeout 配置,将达到大约 130 秒的最大 TCP 超时,表明 req.setTimeout 没有生效。
假设 "199.199.199.199" 是一个不存在的 IP,即无法连接到的 IP。
预期行为
http 适配器需要在 "windows" 和 "alpine" 上添加以下代码配置才能生效。
axios 版本
1.4.0
适配器版本
http
浏览器
- 无响应*
浏览器版本
- 无响应*
Node.js 版本
16
OS
windows/alpine
其他库版本
- 无响应*
其他上下文/截图
- 无响应*
2条答案
按热度按时间dkqlctbz1#
你好,
我刚接触这个仓库,想确认你遇到的问题是关于在使用Axios在不同环境中为HTTP请求设置超时时间,特别是在Windows和Alpine系统上。
sf6xfgos2#
你好,
我刚接触这个仓库,想确认你遇到的问题是关于在使用Axios在不同环境中设置HTTP请求超时(特别是在Windows和Alpine系统上)的问题。
是的