0

同期 ajax 呼び出しを行うフィルター関数があります。関数のコールバックは json オブジェクトを返します。これはフィルター関数の変数に渡され、フィルター結果として返されます。ajax 呼び出しの無限ループは、ajax 呼び出しの dataType が「json」に設定されている場合にのみ行われます。文字列を返すとき、無限ループはありません。

このコードをフィルター関数内に配置すると、再帰的な無限ループが発生するのはなぜですか?

        var result;
        that = this;
        $.ajax({
            url: '/url/',
            async: false,
            dataType: 'json',
            type: 'get',
            success: function (links) {

                that.result = links;
            }
        });

        return that.result;
4

1 に答える 1

0
  1. 同期 ajax cal を使用しないでください。
  2. フィルターで長時間処理を使用しないでください = フィルターは各 $digest サイクルで呼び出されるため、フィルター内での長時間の同期 ajax 呼び出しは、ブラウザーを何度もフリーズさせるだけです。
于 2014-09-02T14:49:34.047 に答える