您可以使用可選參數爲trigger
:
觸發object.trigger(event, [*args])
觸發回調爲給定的事件,或事件的空間分隔的列表。後續的觸發參數將傳遞給事件回調函數。
所以,你可以這樣做:
GlobalEventBus.trigger("connection", function() { doPost() });
// or
GlobalEventBus.trigger("connection", doPost);
,然後爲'connection'
事件聽者會搶出功能參數列表,並在適當的時候調用它。您必須小心,只有一個偵聽器調用傳遞的回調函數或修改回調函數,以便多次調用它只會導致一個doPost()
調用。
或者,你可以放下'connection'
事件完全贊成簡單的函數,掛接必要的回調:
app.getConnectionAnd(function() { doPost() });
然後getConnectionAnd()
會豎起對話框,並附上傳遞的功能,它的「OK」回電話。如果您還有其他用途,但仍然可以開展活動,但僅僅因爲您擁有一般用途的活動巴士並不意味着您必須將其用於一切。
如果你真的很喜歡骨幹事件,你可以返工您的應用程序就可以避免這個順序:
GlobalEventBus.trigger("connection");
doPost();
相反,你可以添加觸發doPost
另一個事件:
- 注意的地方,你全局訪問想要撥打
function() { doPost() }
。
GlobalEventBus.trigger("connection")
被觸發。
- 有人在聽上述內容時會彈出詢問連接細節的對話框。
- 該對話框建立了連接並觸發了一個
GlobalEventBus.trigger('connected')
事件。
- 有人在偵聽
'connected'
事件查找應該調用的內容,注意到它是(1)中的函數,調用它並將函數調用重置爲undefined
。