我有一些第三方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. 跳過功能,如果它需要太長時間
- 4. 如果網絡連接超時,Java需要很長時間才能運行
- 5. KnownFolders.VideosLibrary.GetFilesAsync()需要很長時間
- 6. HTTPURLConnection.getInputStream()需要很長時間?
- 7. presentRenderbuffer:GL_RENDERBUFFER_OES需要很長時間
- 8. Httpclient需要很長時間
- 9. NSHost需要很長時間
- 10. 功能需要很長的時間來執行
- 11. Python Paramiko超時執行時間很長,需要全部輸出
- 12. EC2 describe Images API需要很長時間才能返回結果
- 13. 流程需要很長時間才能啓動,因爲它會檢查node_modules
- 14. 如果RxJava observable需要很長時間,你如何顯示Spinner?
- 15. UpdateProgress在查詢需要很長時間時不會關閉
- 16. 超時如果方法需要太長的時間才能完成
- 17. Hiearchical Join需要很長時間
- 18. 需要很長時間的Oracle查詢
- 19. Postgres SET UNLOGGED需要很長時間
- 20. Application.DoEvents需要很長的時間
- 21. Excel轉儲需要很長時間
- 22. pymongo光標getMore需要很長時間
- 23. SqlDataAdapter.Fill突然需要很長時間
- 24. 混帳SVN需要很長時間
- 25. PSI Project Pubish需要很長時間
- 26. MySQL php插入需要很長時間
- 27. AVAssetExportSession導出需要很長時間
- 28. 總價值需要很長時間
- 29. 需要很長時間的SQL查詢
- 30. `react-native start`需要很長時間
是如何「第三方API」融入節點環境?一個HTTP請求肯定會超時。 – Bergi
API的文檔應該說明什麼是「適當的回調」。是的,它會等待,如果這是它應該如何使用。 – Bergi