3

私が取り組んでいる既存の Backbone/jQuery/CoffeeScript アプリでは、関数 ( Backbone.Collection.fetch()) が複数回呼び出されているようです (数が異なる場合があります)。入れ子になったコールバック (AJAX など) をたくさん実行していて、デバッグが難しくなっているので、タイミングの問題かもしれません。jQuery deferred を使用するようにコードを変換する必要があるかもしれませんが、それまでの間、何ができますか?

Chrome でコードを調べてみましたが、コードがあちこちジャンプしているように見えます。同時に異なるコールバックを処理している可能性がありますか?

すべての関数とその引数に console.log を追加するかもしれないと考えていますが、もっと良い方法があるはずですか?

4

1 に答える 1

2

fetch()その関数にスタックトレースを追加して、どこから呼び出されているかを確認できます。JSには、適切なスタックトレースの実装がいくつかあります。Eric Wendelinのバージョンで成功しました が、他にもたくさんあります

スタックトレースを使用すると、少なくともその関数への最も一般的なパスが何であるかを確認でき、検索する場所を絞り込むのに役立つ可能性があります。それは根本的な犯人を明らかにするかもしれません。

于 2012-07-10T02:44:26.863 に答える