gpt4 book ai didi

node.js - Node.js请求超时问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:09 25 4
gpt4 key购买 nike

我的应用程序处于 react 状态,并通过 axios 调用调用 node 层。然后,node 层调用外部 api,该响应大约需要 7 分钟。但是,我在发出请求后大约 2-3 分钟内收到超时错误。当我直接调用外部 api 时(不通过 Node 层),我能够在 7 分钟内获得响应。我尝试使用诸如

之类的建议为 node 设置 timeout
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("Hello World");
}).on('connection', function(socket) {
socket.setTimeout(200000000);
}).listen(3000);

还使用server.timeout,但似乎没有任何效果。有人可以建议如何解决该问题吗?

我收到以下错误

Network Error at createError (webpack-internal:///./node_modules/axios/lib/core/createError.js:16:15

我正在使用 axios

axios.post('/api/parseAndExtractFile', formData, config)
.then((response) => {
if (response.status === 200) {
const fileName = `enriched_v3_spec_${new Date().getTime()}`
const blob = new Blob([(response.data)], {type: 'application/vnd.ms-excel.sheet.macroEnabled.12'})
saveAs(blob, fileName)
} else {
toast.error('Oops, something went wrong. Please try again.', {autoClose: 4000})
}
this.setState({
loading: false,
showAuditLog: 'show'
})
})
.catch((error) => {
this.setState({loading: false})
toast.error(`Error while fetching data ${error}`, {autoClose: 4000})
})

最佳答案

node 和 axios 都有超时

1)设置 Node 超时

var http = require('http');
var srvr = http.createServer(function (req, res) {
res.write('Hello World!');
res.end();
});
srvr.listen(8080);
srvr.timeout = 20000; // in milliseconds

2)为axios设置超时

const instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 10000, // in milliseconds
headers: {'X-Custom-Header': 'foobar'}
});

关于node.js - Node.js请求超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55744010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com