Я провожу некоторые эксперименты с сопрограммами kotlin, в частности, я хотел бы вернуть моей сопрограмме RxBleDevice из библиотеки polidea .
Однако функция Polidea scanBleDevices возвращает Disposable при подписке. Есть ли способ, согласно моему коду, вернуть моему Coroutine RxBleDevice?
Это мой код, на данный момент он не компилируется:
val scanDevices: Deferred<RxBleDevice> = GlobalScope.async {
rxBleClient.scanBleDevices(ScanSettings.Builder()
.build(), filterBuilder.setDeviceName(bikeBleName).build())
.subscribe(
{ scanResult ->
// Process scan result here.
scanResult.bleDevice
},
{ throwable ->
// Handle an error here.
}
)
}