teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

同期処理のコード修正

2017/11/13 08:54

投稿

think49
think49

スコア18194

answer CHANGED
@@ -13,11 +13,11 @@
13
13
  var foo = {
14
14
  a: 0,
15
15
  process1: function process1 () {
16
- this.a = 1
16
+ this.a = 1;
17
17
  console.log('①');
18
18
  },
19
- process2 function process2 () {
19
+ process2: function process2 () {
20
- console.log('②', a);
20
+ console.log('②', this.a);
21
21
  }
22
22
  }
23
23
 

1

NotificationOpen イベント

2017/11/13 08:54

投稿

think49
think49

スコア18194

answer CHANGED
@@ -57,7 +57,7 @@
57
57
  このコードで「deviceready -> ons.ready」の順番で発火する事は保証されているので、「onNotificationOpen と ons.ready のどちらが先に発火するイベントモデルなのか」が問題ですが、検証すればすぐに結果は出るでしょう。
58
58
  (考えづらいと思いますが、もし、`ons.ready` が先に発火するのであれば、onNotificationOpen が発火するまで数秒間待機させるか、別のイベントを探す必要があります。)
59
59
 
60
- ### onNotificationOpen イベント
60
+ ### NotificationOpen イベント
61
61
 
62
62
  - [arnesson/cordova-plugin-firebase: Cordova plugin for Google Firebase](https://github.com/arnesson/cordova-plugin-firebase)
63
63
 
@@ -68,7 +68,7 @@
68
68
  > ii. User taps the notification and the app opens
69
69
  > iii. User receives the notification data in the JavaScript callback
70
70
 
71
- onNotificationOpen イベントはバックグラウンド実行されたアプリから復帰した時にも発火するイベントです。
71
+ NotificationOpen イベントはバックグラウンド実行されたアプリから復帰した時にも発火するイベントです。
72
72
  従って、先のコードで処理を行うと既に初期化処理が終わっているアプリに対して、バックグラウンドから復帰時にもう一度初期化処理が走る事になります。
73
73
  それが望まない動作であるなら、フラグ管理する等して初期化済かどうかを判断する条件分岐処理が必要になります。
74
74
  ちなみに、Monaca には `resume` イベントが用意されているようです。