0

私は JavaScript/jQuery の専門家ではありません。だからここにいます。

処理に時間がかかる JavaScript 関数を呼び出しています。私のデータが成功した方法で利用可能な場合、イベントを追跡する方法はありますか? 以下の私のコード。

function doWave() {
    window.plugins.AudioFxDemo.doConvert('http://c0458222.cdn.cloudfiles.rackspacecloud.com/RC1_2.2_Conversation_line7.mp3',
        function(data) {
            // success
            alert(data);
        }, function(error) {
            alert(error);
        });
}

データを取得していますが、時間がかかります。では、データがいつ利用可能になるかを知るにはどうすればよいでしょうか。

-アレフィン

4

1 に答える 1

0

あなたが何をしようとしているのか、私にはよくわかりません。コールバック ベースの API の通常の動作では、データが使用可能になると、success メソッドが呼び出されます。だから、そこにあなたの処理コードを入れてください。追加のイベント ハンドラーを起動して、別のコールバックでデータを処理できると思いますが、これが理にかなっているかどうかは、何を取得しようとしているかによって異なります。

また、プログラミング環境 (フレームワーク、対象クライアント、ツールなど) についての詳細も投稿してください。より適切なアドバイスを提供できます。:)


アップデート:

doWave関数を定期的に呼び出そうとしている場合は、これを試すことができます。

function doWave() {
    window.plugins.AudioFxDemo.doConvert('[url]',
        function(data) {
            // process data, display etc.
            // [...]

            // queue doWave for immediate execution
            setTimeout(doWave, 0);
        }, function(error) {
            alert(error);
        });
}

このようにして、doWaveが実行されるたびに、現在の成功関数の実行が完了した直後に、別の実行がキューに入れられます。

詳細を知りたい場合は、タイマー関数に関する素晴らしい記事をご覧ください。

これがあなたが探しているものかどうかはまだわかりません。そうでない場合は、質問にコメント/更新してください。

于 2012-08-07T12:49:46.667 に答える