2

node.js アプリを実行していて、500 ミリ秒ごとに実行されるプロセスがあります。多くのロジックが実行されており、時には 500 ミリ秒を超えて実行されることがわかりました。これにより、setInterval を使用するときに問題が発生しました。

これを次のようなコールバックで setTimeout を使用するように再設計しました。

    var start = function() {

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

    start();

問題は、これが停止することがあるということです。これは、道路のどこかからのコールバックperformProcessesがヒットしていないことを意味します。複数のオブジェクトやファイルに到達する何千行ものコードがあります。

これをデバッグして、壊れている可能性のある場所を特定するための良い方法を誰かが推奨しますか?

ありがとう!

4

2 に答える 2

0

Webインスペクターを試しましたか?

ループ制御でPaulIrishanimshimを試すこともできます。requestAnimFrame後に呼び出すとself.performProcess、500ms間隔で呼び出されます。

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

(function animloop () {
  self.performProcesses();
  requestAnimFrame(animloop);
})();
于 2012-07-05T01:06:23.617 に答える
0

JavaScript でプログラミングするときは、Aptanaを使用します。これは、ほぼ Eclipse である Appcelerator と呼ばれるコレクションの一部です。Aptana を使用すると、JavaScript で開発およびデバッグできるため、StepInto、StepOver などを実行できます。

于 2012-07-03T16:11:45.503 に答える