-1

この手順を実行する必要があります:-

  1. 書類の準備が整い次第、
  2. 機能Aを行い、
  3. 機能Aの完了後、
  4. 機能 B、C、D を実行する

正確な答えではありませんが、次の方法で機能します:-

<script>
$(document).ready(function(){
    function_a();
    setTimeout(function(){
        function_b(); 
        function_c();
        function_d();
    }, 100);
});
</script>

確かに、私はいつも時間の遅れに頼ることはできません! ただし、次の方法は機能しません:-

<script>
$(document).ready(function(){
    function_a();
}).complete(function(){
    function_b(); 
    function_c();
    function_d();
});
</script>

2番目の方法はどのように改善できますか?

4

4 に答える 4

1
function_a();

function function_a()
{
 ........
 function_b();
}

function function_b()
{
 ........
 function_c();
}

function function_c()
{
  ........
 function_d();
}
于 2013-06-04T07:56:14.853 に答える
1
$(document).ready(function(){
    function_a();
    function_b(); 
    function_c();
    function_d();

});

関数が同期の場合も同様です。
非同期関数の場合、コールバックを使用します。
これは役立つかもしれません: 3 つの関数を順番に実行するには、どのように呼び出す必要がありますか?

于 2013-06-04T07:56:28.830 に答える
1

function_a同期で動作する場合は、以下で行うことができます。

$(document).ready(function(){
    function_a();
    function_b(); 
    function_c();
    function_d();
});

ただし、非同期で動作する場合はfunction_a、完全なコールバックのパラメーターを提供する必要があります。

$(document).ready(function(){
    function_a(function(){
      function_b(); 
      function_c();
      function_d();
    });
});
于 2013-06-04T07:58:31.017 に答える
0

関数がそのシーケンスに従いたい場合は、Deferredを強制する必要があります。jQuery についてお読み.when()ください.then()。jQueryはこれのために作られています。

jQuery deferred はどのように使用できますか?

http://learn.jquery.com/code-organization/deferreds/examples/

また

function_a();
function_b(); 
function_c();
function_d();

上記の方法も正しいです。function_a()ただし、非同期関数がある場合、このメソッドは機能しません。

于 2013-06-04T09:24:18.690 に答える