特快专递要求提供ERR_EMPTY_RESPONSE

Val*_*lip 5 http-post node.js express reactjs

我正在构建一个node.js和express.js Web应用程序,并且当发布请求花费的时间超过2分钟时,它无法按预期工作。
发生的情况是,在2分钟后,我的express路线被重新调用,然后又过了2分钟(总共4分钟),我在该发布请求的“网络”标签中收到此错误:

净:: ERR_EMPTY_RESPONSE

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

这是我的路线:

const router = express.Router();

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

here当我发出发布请求时,它将打印到控制台,然后here在2分钟后再次打印。

这是我index来自服务器的文件:

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;
Run Code Online (Sandbox Code Playgroud)

自从遇到此问题以来已经有两个星期了,任何想法或解决方案都会对我有很大帮助。如果需要提供更多详细信息,请告诉我。

Val*_*lip 1

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