質問: 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は実行されるものなのでしょうか?
回答: それは非同期だからです。 いつコールバックされるかわからないので、`想定`のような考えでプログラムを組むと、実行した結果が正しく取得できないなどの現象に悩まされます。