节点.js设置超时与回调
Node.js setTimeout with callbacks
我正在运行一个节点.js应用程序,并且有一个每 500 毫秒运行一次的进程。 有很多逻辑正在完成,有时,我们发现它可以运行超过 500 毫秒 - 这在使用 setInterval 时会导致问题。
我们重新设计了它以将 setTimeout 与回调一起使用,如下所示:
var start = function() {
self.performProcesses(function() {
setTimeout(function() {
start();
}, 500);
});
}
start();
问题是有时这会停止,这意味着在路上的某个地方,来自performProcesses
的回调没有被击中。 有数千行代码可以到达多个对象和文件。
有人会推荐一种尝试调试并隔离中断位置的好方法吗?
谢谢!
你试过网页检查器吗?
您也可以尝试在循环控制中尝试保罗爱尔兰动画垫片。如果在 self.performProcess
后调用requestAnimFrame
,它将以 500ms 的间隔调用。
var requestAnimFrame = function (callback) { setTimeout(callback, 500); };
(function animloop () {
self.performProcesses();
requestAnimFrame(animloop);
})();
当我用JavaScript编程时,我使用Aptana。它是一个名为Appcelerator的集合的一部分,它几乎是Eclipse。Aptana 让你用 JavaScript 进行开发和调试,所以你可以 StepInto、StepOver 等等。
相关文章:
- 在promise中为回调添加超时并拒绝
- 可以clearTimeout删除JavaScript中已触发超时事件的未处理回调
- jasmine 2-在jasmine指定的超时时间内未调用异步回调.DEFAULT_TIMEOUT_INTERVAL
- Sinon-带有回调的存根函数-导致测试方法超时
- 节点.js设置超时与回调
- for循环,回调,一起超时,超时似乎不起作用
- 设置超时函数回调静态变量
- 定义节点.js回调的超时
- 量角器根据条件单击嵌套元素,错误 - 在指定的超时内未调用异步回调
- 同步窗口.设置超时回调
- 如何使用角度休息服务设置超时回调事件
- Response.重定向不能在会话超时的页面回调中调用
- 为什么设置超时's回调参数可以接受参数
- Mocha在运行CasperJS测试时不考虑超时或回调
- 由于回调结构中可能存在错误,无法使超时工作
- Jasmine异步回调超时
- 测试socket.on('data')回调,而不会让摩卡超时
- Protractor/Jasmine2 -未在指定超时内调用异步回调
- 为node.js回调实现超时
- 回调超时