首页 > 解决方案 > 即使更改超时后请求超时也不会改变(Windows 操作系统)

问题描述

我正在增加请求选项中的超时时间,但请求仍然在一段时间后超时(大约 100 秒)

我用谷歌搜索并知道,有两种类型的超时(读取超时和连接超时)。另外,我开始知道,当您将超时时间增加到大于操作系统定义的超时时间时,它将不起作用。

注意:我在这里处理大量数据。

request.post('http://192.168.177.132:3001/api',{
    json : {
    stationid : id,
    start : From,
    end : To
    },
    timeout:500000,
    time:true
    },(error, res) => {
    if (error) {
    console.error(error)
    return
    }
})

根据上面的代码,请求应该在 500s 后超时,但它在 100s 左右超时

标签: javascriptnode.jsrequest

解决方案


您还必须增加服务器的连接超时时间(我猜您有自己的服务器将从上述请求接收数据)。

例如,如果您的服务器是 Nodejs ( docs ),您可以像下面的示例一样增加连接超时:

const express = require('express')
const http = require('http')
const app = express()
const port = 3000

app.set('port', port)
// app.get('/upload', ...)

const server = http.createServer(app)

server.timeout = 24 * 60 * 60 * 1000 // 24 hours
server.listen(port)
server.on('error', () => { // error handle }))
server.on('listening', () => { console.log('Listening on ' + port) })

每个服务器端语言/框架可能都有默认超时,所以只需增加它!


推荐阅读