Articles of timeout

NPM请求模块(REST客户端)的默认超时是什么?

以下将我的node.js调用来检索一些数据,这需要超过1分钟。 这将在1分钟(60秒)超时。 我把一个控制台日志的延迟也。 不过,我已经configuration超时120秒,但它不反映。 我知道默认级别的nodejs服务器的超时时间是120秒,但我仍然从这个请求模块获取此次调用的超时时间(60秒)。 请提供你的见解。 var options = { method: 'post', url:url, timeout: 120000, json: true, headers: { "Content-Type": "application/json", "X-Authorization": "abc", "Accept-Encoding":"gzip" } } var startTime = new Date(); request(options, function(e, r, body) { var endTime = new Date(); var latencyTime = endTime – startTime; console.log("Ended. latencyTime:"+latencyTime/1000); res.status(200).send(body); });

是否有一个通用的机制来超时node.js中的事件?

我正在学习node.js,我能find的大多数例子都是处理简单的例子。 我更感兴趣的是构build真实世界的复杂系统,并估计node.js基于事件的模型如何处理实际应用程序的所有用例。 我想要应用的一种常见模式是让阻止执行超时,如果它没有在一定的超时时间内发生。 例如,如果执行数据库查询需要30秒以上,那么对于某些应用程序来说可能太多了。 或者如果读取文件需要10秒以上的时间。 对于我来说,超时的理想程序stream程与具有例外的程序stream程相似。 如果某个事件在某个预定义的超时限制内没有发生,那么事件监听器将被从事件循环中清除,并产生一个超时事件。 这个超时事件将有一个替代的监听器。 如果事件处理正常,则从事件循环中清除超时侦听器和事件侦听器。 有超时处理和清理超时过程的一般机制吗? 我知道一些types,如套接字有超时参数,但它不是一个适用于所有事件的一般机制。

setInterval返回Timer对象而不是intervalId

我想通过使用我打算存储在本地文件中的intervalId来清除间隔。 我的印象是分配setInterval返回它的intervalId但我似乎正在得到[object Timer] 。 var fs = require("fs"); var id = setInterval(function(){ console.log("tick"); }, 1000); console.log(id); var stream = fs.createWriteStream("id"); stream.once('open', function(fd) { stream.write(id); }); 我正在使用节点v4.9

Aws lambda描述实例超时

我有这个简单的describe实例函数,我试图通过AWS Lambda在nodejs中运行: var AWS = require('aws-sdk'); AWS.config.region = 'us-east-1'; exports.handler = function(event, context) { console.log("\n\nLoading handler\n\n"); var ec2 = new AWS.EC2(); ec2.describeInstances(function(err, data) { console.log("\nIn describe instances:\n"); if (err) { console.log(err, err.stack); context.done(null, 'Function Finished from error!'); // an error occurred }else { console.log("\n\n" + data + "\n\n"); context.done(null, 'Function Finished with data!'); // successful […]