我想写入100KB以上的文件数据,因此我需要分割数据并重复写入BLE(超过8000次)。 我想像这样链接: 写入数据(带有响应)->获取响应->写入数据(带有响应)-> ...
如何确保每次写访问的顺序(或以下代码确保顺序)?
我当前的代码如下:
for index in stride(from: 0, to: data.count, by: maximumDataLength) {
let endIndex = (index + maximumDataLength <= data.count) ? (index + maximumDataLength - 1) : (data.count - 1)
let disposable = p.writeValue(data.subdata(in: startIndex ..< endIndex + 1), for: BLECharacteristic.otaData, type: .withResponse).asObservable()
.take(1)
.subscribe(onNext: { char in
}, onError: { error in
}, onCompleted: {
}, onDisposed: {
})
}