0

次のサービスがあります。

app.factory('myService', function($resource) {
   return $resource("resources/myServiceUri", {param1: "foo"}, {
      get: {method: "GET", isArray: true}
    });
});

ページの読み込み時に、アプリケーションは次のようにサービスを呼び出します。

myService.get({},function(result) {
    model.myServicesModel = result;
    console.log("if there are network problems the control goes here");
});

これは、バックグラウンドが実行されていて、接続が正常な場合に完全に機能します。しかし、何らかの理由で、または別のバックグラウンド サービスがデータベースに接続できない場合、リソース呼び出しを使用すると、エラー コード 500 の応答が返されます。これでも問題ありませんが、このサービス呼び出しは、それぞれが 1 文字を含む大量のリソース オブジェクトを返すようです。バックグラウンド サービスによってスローされた例外から。

ご覧のとおり、エラー コールバックをまったく使用していませんが、使用したとしても、この問題が発生すると、制御は成功コールバックに移行します。

これを処理する良い方法はありますか?エラー コード 500 で返される応答を回避することはできますか?

この同じ呼び出しに対して http ヘッダーのみを返す「事前リソース呼び出し」を行うことで問題を解決できる場合がありますが、より良い解決策はありますか?

4

1 に答える 1