2012-05-13 18 views
1

RequireJSとNodeを使用してプロジェクトを構築し、サーバーとクライアントの両方のモジュールを再利用しています。これまではかなり良い状態になっています(いくつかの小さな欠点)。延期されたコールバックでエラーがスロー/表示されない

遅延コールバック内のエラーがノードコンソールに表示されることはありません。デバッグが非常に難しくなります。

asdasdasd(); // Throws error, function is undefined, as intended 
this.loadOrganization(organization_key, true).then(function(org) { 
    asdasdasd(); // No error anywhere, script just stops executing 
}); 

loadOrganizationは、遅延オブジェクトを返し、コールバックが呼び出される細かい - 未定義に関連するエラーメッセージが表示されていないが(モジュールを評価する際に一般的な構文エラーがノードによって報告されます)。

jsdomをjqueryで使用して、サーバー側のブラウザのコンテンツをブートストラップします。 jsdonからjqueryをほとんどのメソッドに渡します。つまり、loadOrganizationに使用される遅延オブジェクトは、jsdomからjsdomを経由したものです。しかし、npmがインストールされたjqueryから1に使用された遅延を変更することは、違いはありません。

エラーが表示されていないときにデバッグするのは非常に難しいです。

答えて

1

サーバサイドのBackbone.Sync実装で野生のtry/catch文がありました。つまり、APIを経由するもの(ほとんど何でも)は、Backbone.Syncエラーコールバックにエラーを渡したtry/catchによって捕捉され、再び聞こえませんでした。

だから、物語の道徳的な;エラーが出力されない場合は、コードを試してみてください。

+0

記録のために、この投稿にも見てみることができます:http://stackoverflow.com/questions/30983382/error-is-not-thrown-inside-a-deferred-methodとチェックされた答え。 –

関連する問題