AnyAsyncSequence 允许你在你的 API 中暴露 AsyncSequence 接口,而无需暴露底层的序列类型,同时继续向消费者暴露序列的 Element 类型,以便他们可以异步地迭代序列。
我假设当 Swift 为不透明类型添加类型约束时(正如暗示的那样),这个包可能会变得不必要。
AnyAsyncSequence 目前仅通过 Swift Package Manager 分发。
要将 AnyAsyncSequence 作为依赖项添加到现有的 Swift 包,请将以下代码行添加到你的 Package.swift 文件的 dependencies 参数中
dependencies: [
.package(url: "https://github.com/vsanthanam/AnyAsyncSequence.git", .upToNextMajor(from: "1.0.0"))
]
要将 AnyAsyncSequence 作为依赖项添加到 Xcode 项目
File → Add Packages...https://github.com/vsanthanam/AnyAsyncSequence.git 并选择你偏好的发行版本。未来可能会添加其他分发机制,如 CocoaPods 或 Carthage。
更多安装说明请访问 Swift Package Index
import AnyAsyncSequence
var mySequence: AnyAsyncSequence<Element> {
myTypedSequence.eraseToAnyAsyncSequence()
}
浏览文档以获取更多详细信息。
AnyAsyncSequence 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。