不幸的是,我沒能找到很多關于 的示例用法的檔案AsyncSequence,尤其是在AsyncStream 實作方面,但我試圖在更深層次上理解這些。
目前,我有興趣轉換類似基于訂閱的東西Cancellable,它在視圖控制器的生命周期記憶體在,并對觀察到的屬性的任何變化做出反應。
這是一個合適的用例AsyncSequence嗎?據我了解,您會使用 for-in 回圈觀察序列,但是是否有可能在觀察到的屬性更新一次后繼續觀察變化,或者它只是一種一次性使用型別?
uj5u.com熱心網友回復:
“這是 AsyncSequence 的合適用例嗎”這正是AsyncSequence 的用例。
但是等等,還有更多!每個 Combine 發布者都有一個AsyncSequencevalues屬性。如果您已經有發布者,則無需“轉換”。只需在異步背景關系中使用該發布者,然后就可以了。values
例子:
let timerpub = Timer.publish(every: 1, on: .main, in: .default).autoconnect()
Task {
for await value in timerpub.values {
// do something with `value`! called every second
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/536924.html
標籤:ios迅速结合
上一篇:如何使用SwiftUI放置形狀?
