我想在同时设置units
和variables
时执行某些操作(通过Single<T>
,而不是Observable
)。该怎么做?
// getUserId(), getSomething(), getSomethingElse() all return Single<T>
getUserId().flatMap { getSomething(it) }.subscribe({ data -> units = data })
getUserId().flatMap { getSomethingElse(it) }.subscribe({ data -> variables = data })
execute(units, variables)
答案 0 :(得分:4)
您可以使用Zip
运算符:
val name = Single.just("Jake")
val age = Single.just(26)
Single.zip<String, Int, String>(name, age, BiFunction { n, a -> "$n is $a years old" })
.subscribe { result -> print(result) }
将打印“杰克今年26岁”。