17543


MonacaでSqliteを利用しています。  
複数のFunctionをネストしてSQLを実行していますが  
Callbackが実行される順番がわかりません。  
以下のようにネストして実行した場合  
Main(); → sub(); → execSql(・・・, execCB);

想定  
Main in  
sub in  
execSql in  
execCB in  
execCB end  
execSql end  
sub end  
Main end

実際の実行結果  
Main in  
sub in  
execSql in  
execSql end  
sub end  
Main end  
execCB in  
execCB end  
ネストしてスタックされている、関数が終わってから  
Callbackは実行されるものなのでしょうか？


CC BY-SA 3.0
2015-10-12T02:50:46.970
17542
2015-10-12T05:21:02.167
12738
question
monaca
Sqlite のCallbackが実行される順番


それは非同期だからです。  
いつコールバックされるかわからないので、`想定`のような考えでプログラムを組むと、実行した結果が正しく取得できないなどの現象に悩まされます。


CC BY-SA 3.0
2015-10-12T05:21:02.167
17543
2015-10-12T05:21:02.167
9566
17542
answer