带有回调的Node.js setTimeout

时间:2012-07-03 16:06:46

标签: javascript debugging node.js

我正在运行一个node.js应用程序,并且每500毫秒运行一个进程。有很多逻辑正在完成,有时,我们发现它可以运行超过500毫秒 - 这在使用setInterval时会引起问题。

我们重新设计了这个以使用带有回调的setTimeout,例如:

    var start = function() {

            self.performProcesses(function() {
                setTimeout(function() {
                    start();
                }, 500);
            });
        }

    start();

问题有时会停止,意味着在路上的某个地方performProcesses的回调没有被击中。有数千行代码可以访问多个对象和文件。

有人会建议一个好的方法来尝试调试它并隔离中断的位置吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

当我使用JavaScript编程时,我使用Aptana。它是名为Appcelerator的集合的一部分,它几乎是Eclipse。 Aptana让你用JavaScript开发和调试,所以你可以使用StepInto,StepOver等等。

答案 1 :(得分:0)

你试过web-inspector吗?

您还可以在循环控制中尝试Paul Irish anim shim。如果您在requestAnimFrame之后致电self.performProcess,则会以500毫秒的间隔致电。{/ p>

var requestAnimFrame = function (callback) { setTimeout(callback, 500); };

(function animloop () {
  self.performProcesses();
  requestAnimFrame(animloop);
})();