Express post请求给出ERR_EMPTY_RESPONSE [英] Express post request gives ERR_EMPTY_RESPONSE

查看:417
本文介绍了Express post请求给出ERR_EMPTY_RESPONSE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个node.js和express.js网络应用程序,并且在发送请求超过2分钟后不能正常工作。

发生什么事是在2分钟后我的 express 路由被重新呼叫,然后,再过2分钟(总共4分钟),我在该帖子请求的网络标签中收到此错误:

I'm building a node.js and express.js web app and it doesn't works as expected when a post request takes longer than 2 mins.
What happens is that after 2 mins my express route is re-called and then, after another 2 mins (4 mins in total) I get this error in the network tab for that post request:


net :: ERR_EMPTY_RESPONSE

net::ERR_EMPTY_RESPONSE

我读到 express 的默认超时设置为2分钟,但这仅适用于获取请求...

I read that express has a default timeout set to 2 mins, but that applies only to get requests...

这是我的路由:

const router = express.Router();

router.post('/', authenticate, async (req, res) => {
  console.log('here');
  setTimeout(function() {
    res.status(201).json({success: true});   
  }, 400000);
})

当我发送帖子请求时,它会将这里打印到控制台,然后再次打印<$ c $ 2分钟后,c>这里

It prints here to the console when I make the post request, and then it prints again here after 2 minutes.

这是我的索引

const app = express();

app.use(bodyParser.json({limit: '50mb'}));
const compiler = webpack(webpackConfig);

app.use(webpackMiddleware(compiler, {
  hot: true,
  publicPath: webpackConfig.output.publicPath,
  noInfo: true
}));
app.use(webpackHotMiddleware(compiler));

app.get('/*', (req, res) => {
  res.sendFile(path.join(__dirname, './index.html'));
});

app.listen(3000, () => console.log('Running on localhost:3000'));
app.timeout = 700000;

自面临这个问题以来,已经有2周了,任何想法或解决方案都会帮助我许多。如果我需要提供更多的细节,请让我知道。

There are already 2 weeks since I'm facing this issue and any ideas or solutions would help me a lot. Please let me know if I need to provide more details.

推荐答案

我解决了我的问题,删除了网页浏览器的超时,如下所述:
https://github.com/expressjs/express/issues/2174

I fixed my issue by removing the web browser's timeout as explained here: https://github.com/expressjs/express/issues/2174

这篇关于Express post请求给出ERR_EMPTY_RESPONSE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆