我的应用程序有一些问题。 我的架构:
NodeJS应用程序中有一部分与REST API通信。
当用户单击Angular网站上的按钮时,我向Express发送了一个请求。
在我的Express应用程序中,我向API发送了另一个请求以检索信息。
但是此过程需要很多时间。我的请求超时
发送Express回复后使我的流程正常运行的最佳解决方案是什么? 我还应该这样做吗?
答案 0 :(得分:1)
假设问题出在超时,您可以增加默认超时:
您可以全局设置整个服务器的超时时间。阅读更多here:
var server = app.listen(app.get('port'), function() {
//Server is running
});
server.timeout = 1000; //1000 is one second.
或仅用于特定路线。阅读更多here:
app.post('/xxx', function (req, res) {
req.setTimeout(500000);
});
您还可以更改正在发出的其他API请求的超时。了解更多here
//Assuming you are using request module.
var options = {
url: 'http://url',
timeout: 120000
}
request(options, function(err, resp, body) {});