-4

JavaScript には 3 つのメソッドがあり、順番に、つまり順番に呼び出したいと考えています。

recuperer_from_proposer_liste_idchamp();
nombre_etape();
4

3 に答える 3

1

非同期呼び出し (AJAX 要求など) がない限り、これらのメソッドは入力した順序で実行されます。

JavaScript インタープリターは、コマンドを 1 行ずつ実行します。

非同期呼び出しがある場合は、それらをコールバック関数で処理する必要があります。コールバックがどのように機能するかを理解していない場合は、オンラインで多くのガイドがあります。

于 2012-11-10T11:07:17.633 に答える
0

非同期処理を行っている場合は、メソッドがいつ作業を終了したかを確認する必要があります。したがって、メソッド 1 を呼び出します。

method1 ();

次に、method1 はアクションの終了を通知する必要があり、そのために method1_finished というメソッドを呼び出し、次に method2 を呼び出す必要があります。

method1_finished () {
    method2 ();
}

方法 3 についても同様です。

method2_finished () {
    method3 ();
}

コードの出所によっては、コールバックが必要な場所で無名関数を直接定義できることがよくあります。

xmlhttp.onreadystatechange = function()
{
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
        // call succeeded, now go on to the next step
  }
}
xmlhttp.open("GET","someurl.php",true);
xmlhttp.send();
于 2012-11-10T11:13:57.153 に答える
0

ロジックを次のように変更する必要がある場合があります

function getRowsFromDatabase(callback) {
    // do your fancy database connection
    // and data retrieval here

    // when you're ready, call the registered callback

    if(typeof(callback) == "function") {
        callback(rowsRetrieved);
    }
}


function displayRowsOnScreen() {
    getRowsFromDatabase(function(rows){
        // do the dom magic here
    })
}
于 2012-11-10T11:20:22.903 に答える