我如何从 Observable<BleHandler.BlePeripheral> 到 BleHandler.BlePeripheral?
How do I get from Observable<BleHandler.BlePeripheral> to BleHandler.BlePeripheral?
我有一个 variable
在 array
.
上使用 flatMap
后得到类型 Observable<BleHandler.BlePeripheral>
let scannedPeripheral: Observable<BleHandler.BlePeripheral> = instance.bleScan()
.flatMap{ Observable.from([=12=])}
但现在我需要在另一个需要 BleHandler.BlePeripheral
:
的 function
中使用那个 variable
instance.bleEstablishConnection(scannedPeripheral: scannedPeripheral)
显然是行不通的。有没有办法让我的 Observable<BleHandler.BlePeripheral>
变成 BleHandler.BlePeripheral
这取决于函数 returns 是否是一个值以及它是什么类型的值 returns...
如果该函数是无效的,而您只是为了副作用而调用它,那么:
let disposable = scannedPeripheral
.subscribe(onNext: { instance.bleEstablishConnection(scannedPeripheral: [=10=]) })
如果你的函数有副作用并且 returns 一个 Observable 那么:
let returnValue = scannedPeripheral
.flatMap { instance.bleEstablishConnection(scannedPeripheral: [=11=]) }
如果该函数没有副作用,而您只是调用它来将您的值转换为不同的值,那么:
let returnValue = scannedPeripheral
.map { instance.bleEstablishConnection(scannedPeripheral: [=12=]) }
根据函数名称,最后一个不太可能,但为了完整起见,我将其放在这里。
我有一个 variable
在 array
.
flatMap
后得到类型 Observable<BleHandler.BlePeripheral>
let scannedPeripheral: Observable<BleHandler.BlePeripheral> = instance.bleScan()
.flatMap{ Observable.from([=12=])}
但现在我需要在另一个需要 BleHandler.BlePeripheral
:
function
中使用那个 variable
instance.bleEstablishConnection(scannedPeripheral: scannedPeripheral)
显然是行不通的。有没有办法让我的 Observable<BleHandler.BlePeripheral>
变成 BleHandler.BlePeripheral
这取决于函数 returns 是否是一个值以及它是什么类型的值 returns...
如果该函数是无效的,而您只是为了副作用而调用它,那么:
let disposable = scannedPeripheral
.subscribe(onNext: { instance.bleEstablishConnection(scannedPeripheral: [=10=]) })
如果你的函数有副作用并且 returns 一个 Observable 那么:
let returnValue = scannedPeripheral
.flatMap { instance.bleEstablishConnection(scannedPeripheral: [=11=]) }
如果该函数没有副作用,而您只是调用它来将您的值转换为不同的值,那么:
let returnValue = scannedPeripheral
.map { instance.bleEstablishConnection(scannedPeripheral: [=12=]) }
根据函数名称,最后一个不太可能,但为了完整起见,我将其放在这里。