質問: JavaScriptの処理ロジック(ロジックの構築)に お知恵をお借りしたいと思います。 【実現したいこと】 コード内の1と2に 1⇒2の処理順を設定したい。 ただし、1は実行されるとは限らない。 2は必ず実行されるが、1よりも後に実行され、 1で値がセットされていれば、1の値を使って2を処理したい。 【困っていること】 2は必ず起動しなければいけません。 現状、このコードを実行すると、2⇒1の順で実行されてしまうため、 1⇒2となるように、何らかのロジックを入れて制御したいです。 上記で記載したように 1 が実行されるかわからないため、 なんらかの形で2の起動条件を決めないといけないかな、と思っています。 【コードの説明】 これはスマホアプリの挙動を制御するプログラムです。 ons.ready(function() {}); アプリが起動したら必ず実行される内容を記述する部分と思ってください。 (アイコンから起動した場合でも、プッシュ通知から起動した場合でも) 2init(mode) アプリが起動したら実行される処理が記載されていると思ってください。 (アイコンから起動した場合でも、プッシュ通知から起動した場合でも) 1window.FirebasePlugin.onNotificationOpen アプリが「プッシュ通知」から開かれた場合のみ実行される部分です。 そのため「アイコン」から起動された場合は実行されません。 【追記ここから】 なお、1のwindow.FirebasePlugin は Cordova という アプリ開発環境が前提です(だと思っている)ので ons.ready の中に置く必要があります。 ※外に関数で定義して、ons.readyの中から外の関数を呼ぶでもOKです。 2のinit()は ons.readyの外にあっても処理自体は動きますが、 どこかで呼び出し、1⇒2の順でなければなりません・・・。 【追記ここまで】 ``` ```
回答: プラグインを知らない、回答を全て読んでいませんが... promiseを使って、非同期処理にすればよいのではないでしょうか?