Рубрики
Без рубрики

RxJava комбинирует самый быстрый пример от Kotlin

RxJava combineLatest очень удобен, но я могу использовать его с трудом, потому что у него много перегрузок…. С тегами kotlin, rxjava, android, java.

RxJava в combineLatest очень удобно но я могу использовать его с трудом, потому что у него много перегрузок. Поэтому я написал фрагмент кода для combineLatest .

val name = PublishSubject.create()
val age = PublishSubject.create()

// Can not omit Type parameters and BiFunction 
Observable.combineLatest(
        name, age, BiFunction { n, a -> "$n - age:${a}" })
        .subscribe({
            Log.d("combineLatest", "onNext - ${it}")
        })

// If you introduce RxKotlin then you can use type inference
Observables.combineLatest(name, age) { n, a -> "$n - age:${a}" }
        .subscribe({
            Log.d("combineLatest", "onNext - ${it}")
        })

// Also we can use Observable array for 1st parameter 
// but second parameter to be array, it's not cool.
Observable.combineLatest(arrayOf(name, age), {
    val n = it[0] as String
    val a = it[1] as Int
    "$n - age:${a}" })
        .subscribe({
            Log.d("combineLatest", "onNext - ${it}")
        })


name.onNext("saito")
age.onNext(24)
name.onNext("yoshida")

Оригинал: “https://dev.to/amay077/rxjava-combinelatest-quick-example-e8b”