jqueryで関数を再帰的に呼び出すことができないのはなぜですか?

Pyaythu

私はJQueryの初心者です。「success」関数を呼び出すときに「pullNotification」関数を再帰的に呼び出したいのですが、ブラウザからリクエストを呼び出すと、スクリプトが「pullNotification」関数と2回呼び出されます。それで、それを解決する方法を教えてください。以下は私のスクリプトです。前もって感謝します。

jQuery(function($) {

    var data = [];

    function pullNotification() {
        var params = {};

        new RPC.Call({
            'method': 'users.getJsonUsers',
            'params': params,
            'onSuccess': success     
        });
    };

    function success(result) {
        if (data.length != 0)
        {
            for (var i = 0, item; item = result[i]; i++) {
                for (var k = 0; k < data.length; k++)
                {
                    if (item.userid == data[k])
                    {
                        this.found = true;
                        break;
                    }
                }
                if (this.found)
                {
                    this.data.push(item.userid);
                    $('<tr origclass="even_row" class="even_row">\n\\n\
                                    <td>' + item.userid + '</td>\n\
                                    <td>' + item.alias + '</td>\n\
                                    <td>' + item.surname + '</td>\n\
                                    </tr>').insertAfter('.nilar');
                }
                this.found = false;
            }
        }
        else {
            for (var j = 0; j < result.length; j++)
            {
                data.push(result[j].userid);
            }            
        }

        setTimeout(function() {
                pullNotification();
            }, 1000);
    }

    window.setTimeout(function() {
        pullNotification();
    }, 5000);
});
ブノワール

pullNotificationを呼び出すだけですonSuccess-ありonFailureますか?あなたがした場合、それはより簡単であるかもしれません(そして推論するのがより簡単です)

window.setTimeout(function() {
  window.setInterval(function() {
    pullNotification();
  }, 1000);
}, 5000);

その後、setTimeoutから削除しましたsuccess(result) { ... }

そうすればpullNotification、何が起こっているかに関係なく、1秒に1回電話をかけることになりますただし、リクエストに1秒以上かかる場合は、サーバーにpingを送信し続ける可能性があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jqueryで関数を再帰的に呼び出すことができないのはなぜですか?

分類Dev

bash関数がローカル変数を使用せずに自分自身を再帰的に呼び出すことができるのはなぜですか?

分類Dev

再帰的に呼び出すと、Python関数が正しく機能しないのはなぜですか?

分類Dev

関数を再帰的に呼び出すと、関数が新しい値ではなく以前の値を返すのはなぜですか?

分類Dev

関数を再帰的に呼び出すと、関数が新しい値ではなく以前の値を返すのはなぜですか?

分類Dev

この再帰関数を修正して、呼び出しが深くならないようにすることはできますか?

分類Dev

宣言せずにCで関数を呼び出すことができるのに、C ++では呼び出せないのはなぜですか?

分類Dev

docker関数はsudoを使用するときに自分自身を再帰的に呼び出さないのですか?

分類Dev

Perl:サブルーチンAを再帰的に呼び出すことができるのに、以前のAから呼び出されたBからAを呼び出すことができないのはなぜですか?

分類Dev

外部述語を呼び出すと再帰関数が失敗するのはなぜですか?

分類Dev

Worker_DoWork関数を再帰的に呼び出せないのはなぜですか?

分類Dev

Worker_DoWork関数を再帰的に呼び出せないのはなぜですか?

分類Dev

定義する前に関数式を呼び出すことができるのはなぜですか?

分類Dev

定義する前に関数を呼び出すことができるのはなぜですか?

分類Dev

関数プロパティを呼び出すときに、これが未定義なのはなぜですか?

分類Dev

makefileがこの関数を呼び出さないのはなぜですか?

分類Dev

ラムダ関数はそれ自体をPythonで再帰的に呼び出すことができますか?

分類Dev

externを使用しているときに、間違ったシグネチャで関数を呼び出すことができるのはなぜですか?

分類Dev

この末尾再帰関数をRustで反復関数に変換できないのはなぜですか?

分類Dev

関数を呼び出したときに入力が得られないのはなぜですか?

分類Dev

サブシェルにエクスポートされていない関数を呼び出すことができるのはなぜですか?

分類Dev

テンプレート文字列を使用するときに、括弧なしで関数を呼び出すことができるのはなぜですか?

分類Dev

再帰的なproc呼び出しに1を追加すると、行われた呼び出しの数が返されるのはなぜですか?

分類Dev

TypeScriptで関数を呼び出すときに、null引数に他の型があることを示唆できるのはなぜですか?

分類Dev

関数呼び出しを返すことと、再帰中に関数を再度呼び出すことだけの違いは何ですか?

分類Dev

java -jarで呼び出されたときにprint関数が印刷されないのはなぜですか?

分類Dev

2つの異なる再帰的ボイドがCで互いに呼び出すことは可能ですか?

分類Dev

Reactでこの関数を呼び出せないのはなぜですか?

分類Dev

関数を呼び出すときに「例外をスロー」が必要なのはなぜですか?

Related 関連記事

  1. 1

    jqueryで関数を再帰的に呼び出すことができないのはなぜですか?

  2. 2

    bash関数がローカル変数を使用せずに自分自身を再帰的に呼び出すことができるのはなぜですか?

  3. 3

    再帰的に呼び出すと、Python関数が正しく機能しないのはなぜですか?

  4. 4

    関数を再帰的に呼び出すと、関数が新しい値ではなく以前の値を返すのはなぜですか?

  5. 5

    関数を再帰的に呼び出すと、関数が新しい値ではなく以前の値を返すのはなぜですか?

  6. 6

    この再帰関数を修正して、呼び出しが深くならないようにすることはできますか?

  7. 7

    宣言せずにCで関数を呼び出すことができるのに、C ++では呼び出せないのはなぜですか?

  8. 8

    docker関数はsudoを使用するときに自分自身を再帰的に呼び出さないのですか?

  9. 9

    Perl:サブルーチンAを再帰的に呼び出すことができるのに、以前のAから呼び出されたBからAを呼び出すことができないのはなぜですか?

  10. 10

    外部述語を呼び出すと再帰関数が失敗するのはなぜですか?

  11. 11

    Worker_DoWork関数を再帰的に呼び出せないのはなぜですか?

  12. 12

    Worker_DoWork関数を再帰的に呼び出せないのはなぜですか?

  13. 13

    定義する前に関数式を呼び出すことができるのはなぜですか?

  14. 14

    定義する前に関数を呼び出すことができるのはなぜですか?

  15. 15

    関数プロパティを呼び出すときに、これが未定義なのはなぜですか?

  16. 16

    makefileがこの関数を呼び出さないのはなぜですか?

  17. 17

    ラムダ関数はそれ自体をPythonで再帰的に呼び出すことができますか?

  18. 18

    externを使用しているときに、間違ったシグネチャで関数を呼び出すことができるのはなぜですか?

  19. 19

    この末尾再帰関数をRustで反復関数に変換できないのはなぜですか?

  20. 20

    関数を呼び出したときに入力が得られないのはなぜですか?

  21. 21

    サブシェルにエクスポートされていない関数を呼び出すことができるのはなぜですか?

  22. 22

    テンプレート文字列を使用するときに、括弧なしで関数を呼び出すことができるのはなぜですか?

  23. 23

    再帰的なproc呼び出しに1を追加すると、行われた呼び出しの数が返されるのはなぜですか?

  24. 24

    TypeScriptで関数を呼び出すときに、null引数に他の型があることを示唆できるのはなぜですか?

  25. 25

    関数呼び出しを返すことと、再帰中に関数を再度呼び出すことだけの違いは何ですか?

  26. 26

    java -jarで呼び出されたときにprint関数が印刷されないのはなぜですか?

  27. 27

    2つの異なる再帰的ボイドがCで互いに呼び出すことは可能ですか?

  28. 28

    Reactでこの関数を呼び出せないのはなぜですか?

  29. 29

    関数を呼び出すときに「例外をスロー」が必要なのはなぜですか?

ホットタグ

アーカイブ