あなたはtrigger
のためのオプションの引数を使用することができます。
トリガーobject.trigger(event, [*args])
トリガーのコールバックを指定した場合、またはイベントのスペースで区切られたリストのため。トリガの後続の引数は、イベントコールバックに渡されます。
GlobalEventBus.trigger("connection", function() { doPost() });
// or
GlobalEventBus.trigger("connection", doPost);
をしてから'connection'
イベントのリスナーは、その引数リストのうち、機能を取得し、適切な時間でそれを呼び出します。
だから、これを行うことができます。 1つのリスナーだけがコールバック関数を呼び出したか、コールバック関数を変更して複数回コールすると1つのdoPost()
コールしか発生しないように注意する必要があります。
また、あなたは、必要なコールバックをフックし、単純な機能の賛成で完全'connection'
イベントをドロップすることができます:その後、
app.getConnectionAnd(function() { doPost() });
getConnectionAnd()
は、ダイアログを設置し、その「OK」に渡された関数を添付します折り返し電話。あなたはそれらのために他の用途があったとしても、一般目的のイベントバスを持っているからといって、それをすべてのものに使う必要があるわけではありません。
あなたはこのシーケンスを避けるか、アプリケーションを手直しができます本当に気に入っバックボーンイベント場合:そのグローバルにアクセス可能などこか
- 注:
GlobalEventBus.trigger("connection");
doPost();
代わりに、あなたはdoPost
をトリガーする別のイベントを追加することができますfunction() { doPost() }
に電話してください。
GlobalEventBus.trigger("connection")
がトリガーされます。
- 上記を聞く人は、接続の詳細を尋ねるダイアログをスローします。
- ダイアログが接続を確立し、
GlobalEventBus.trigger('connected')
イベントをトリガーします。
'connected'
イベントをリッスンしている人は、何が呼び出されるのかを調べ、それが(1)の関数であることに気づき、それを呼び出し、関数呼び出しをundefined
にリセットします。