我是 Kotlin 的新手,偶然發現了這個簡單的問題。我有一個事件流,我在其中使用這樣的登錄事件:
mystream.events
.filter { event -> event is UserLogin }.collectLatest { event -> handleLogin(event) }
現在在同一個流中,我還可以接收一個 Logout 事件,我也想以相同的方式處理它 - 但通過呼叫不同的處理函式。
我也可以復制相同的代碼行來對 Logout 事件執行相同的操作,但是有一種方法可以在相同的 lambda/代碼塊中執行此操作。有點像 if/else?
uj5u.com熱心網友回復:
我會為此使用 when 陳述句:
mystream.events.collectLatest { event ->
when (event) {
is UserLogin -> handleLogin(event)
is UserLogout -> handleLogout(event)
//...
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/463421.html
