我有两个挂起函数:
suspend fun sendData() : Boolean
suspend fun awaitAcknowledge() : Boolean
我希望你能将它们放在第三个挂起函数中,以便并行执行,并通过两个返回值计算最终结果:
suspend fun sendDataAndAwaitAcknowledge() : Boolean {
// TODO execute both in parallel and compare both results
}
然而,如果我像那样写,
suspend fun sendDataAndAwaitAcknowledge() : Boolean {
val sendResult = sendData()
val receiveAck = awaitAcknowledge()
}
这些函数将按序执行,这在我的情况下行不通。
从 RxJava 来看,我想要实现类似于 zip
操作符的功能:
Single.zip(awaitAcknowledge(), sendData(), {receiveAck, sendResult -> ...})
我该如何使用协程
来实现这一点?