节点.js设置超时与回调

Node.js setTimeout with callbacks

本文关键字:回调 超时 设置 js 节点      更新时间:2023-09-26

我正在运行一个节点.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 等等。