
自从Swift 5.5开始,Apple引入了融入Swift语言层面的新型并发模型,我们可以用async/await等新语法来编写异步代码。
除了新的并发机制,Swift 5.5还引入了新异步序列Async Sequences,你可以认为异步序列是其内部元素异步产生的序列,我们遍历时需要“等待”它们每一个元素。
为了更简洁的自定义我们自己的异步序列模型,Swift引入了一个AsyncStream结构。使用它,只需寥寥几行代码就可以定制出灵活小巧的异步队列对象,非常方便。
但是,如果我们尝试把计时器直接放在AsyncStream中,想产生一个简单的倒计时功能的结果可能会大失所望!它无法完成,因为其中的计时器不会被触发。

我们怎么来解决这个问题呢?
Let’s find out! 😎
首先,我们来看看上面的代码:
func