AsyncChannelKit

CI

一个简单的异步通道实现,用于 AsyncSequenceAsyncIterator,它具有与 Channel 相同的接口。

当调用 next() 函数时,期望它异步地返回一个值,以供异步 for 循环使用。 如果这些值不是响应此函数调用而创建的,则必须以某种方式提供这些值。 此通道支持发送 next() 可以返回的值。

在单元测试中,创建一个既是序列的通道。 AyncIterator 是一个嵌套类型。 创建迭代器时,会为其提供相同的通道。 在通道上调用 send 将使新值可用。 当调用 next 函数时,它会创建一个 continuation,该 continuation 将与一个值匹配,以便可以将其返回。 调用 terminate 将使用一个 continuation 发送 nil,这会告诉 for 循环它已完成。

通道完成的所有工作都作为 actor 类型完成,因此它是线程安全的。 由于它仅使用 Swift 标准库中的功能,因此它应该可以在所有支持 Swift 的平台上使用。