2017-09-07 22 views
0

JavaScriptのajax呼び出しでの除外順序の問題については、かなりの質問があります。非同期非同期のJavaScriptでの実行順序

ajax呼び出しがない場合、コードが上から下に実行されると想定するのは安全ですか?

以下、このコードがあります。私が呼び出す関数には、非同期呼び出しがありません。

someFunction() { 

    // Call some external function 
    doSomething(); 

    // Then call another external function 
    const x = doSomethingElse(); 

    if(x === 0) { 

     // Call third function 
     thirdFunction(); 
    } 

} 

現在、私が最初に呼び出さなっていませんdoSomething()かのように見える状況に実行していますよ。これは可能ですか?

P.S.私はReact/Reduxアプリでこの問題を抱えており、doSomething()は、店内の何かをリセット/クリアする予定のアクションですが、現在は機能していません。

+0

カーソルがdosomething()内に入るかどうかをデバッグしましたか? – MukulSharma

+0

それ以外のものはありますか?データが到着する前に呼び出されていますか? – Mikkel

+0

コードをステップ実行すると、まずdoSomething()がヒットします。だから、オーダーはOKだと思われますが、なんらかの理由でコードはレデューサーに当たっていません。だから、別の問題です。ありがとう! – Sam

答えて

0

はい。 AJAXのような非同期呼び出しを持つ関数がない場合、実行順序は常に同じです。

1

解決しない約束事(例えば、決して起こらないイベントを待っているイベントリスナー)と、次のイベントサイクルにプッシュされるタイムアウトコードも非同期です。

doSomething()にこれらのいずれかがある場合、実行されない可能性があります。