我有一些第三方API运行需要大约30分钟才能返回结果的函数(他们做了一些冗长的计算)。 现在,如果我使用Nodejs通过适当的回调来调用这样的API,默认情况下Nodejs会等待函数返回结果的30分钟还是会超时? 如果超时,有没有办法增加等待时间?如果NodeJS功能需要很长时间,它会超时吗?
1
A
回答
2
的Linux的违约可能20岁之间使用任何东西 - 因为超时120秒 http://www.sekuda.com/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout
根据其要求您使用库,你可以在设置超时有不同的语法。我个人很喜欢request
,这里引用https://github.com/request/request。
request.get('http://10.255.255.1', {timeout: 1500}, function(err) {
console.log(err.code === 'ETIMEDOUT');
// Set to `true` if the timeout was a connection timeout, `false` or
// `undefined` otherwise.
console.log(err.connect === true);
process.exit(0);
});
我不认为NodeJS函数本身会超时。
3
I假设您正在使用express
如果您使用express,则可以添加下面的代码以增加等待时间。
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
server.timeout = 1000;
否则你可以使用纯http
var http = require('http');
var server = http.createServer(function (req, res) {
setTimeout(function() {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}, 200);
}).listen(1337, '127.0.0.1');
server.timeout = 20;
相关问题
- 1. 超时功能,如果它需要太长时间才能完成
- 2. 跳过功能,如果它需要太长时间
- 3. NSHost需要很长时间
- 4. presentRenderbuffer:GL_RENDERBUFFER_OES需要很长时间
- 5. HTTPURLConnection.getInputStream()需要很长时间?
- 6. 流程需要很长时间才能启动,因为它会检查node_modules
- 7. MongoDB需要很长时间来查询
- 8. AVAssetExportSession导出需要很长时间
- 9. 解释计划需要很长时间
- 10. 检查代码需要很长时间
- 11. 需要很长时间的SQL查询
- 12. java.util.concurrent.ExecutorService#提交需要很长时间
- 13. Hiearchical Join需要很长时间
- 14. 返回需要很长时间
- 15. sqlite插入需要很长时间
- 16. 索引在Xcode需要很长时间
- 17. 从sessionStorage服务需要很长时间
- 18. 线程仍然需要很长时间
- 19. hood.ie开始需要很长时间
- 20. Perl Parallel :: ForkManager wait_all_children()需要很长时间
- 21. 大TChart需要很长时间绘制
- 22. ByteBuffer allocateDirect需要很长时间
- 23. 重复查询需要很长时间
- 24. 为什么IIS7需要很长时间
- 25. Excel转储需要很长时间
- 26. Informix DELETE查询需要很长时间
- 27. `react-native start`需要很长时间
- 28. SqlDataAdapter.Fill突然需要很长时间
- 29. NSManagedContext需要很长时间来坚持
- 30. Kafka Streams在处理可能需要多长时间时会超时?
是如何“第三方API”融入节点环境?一个HTTP请求肯定会超时。 – Bergi
API的文档应该说明什么是“适当的回调”。是的,它会等待,如果这是它应该如何使用。 – Bergi