AsyncStream не выполняет закрытие
поэтому я читаю книгу Modern Concurrency с сайта raywenderlich.com и предполагаю, что книга устарела или что-то в этом роде, я пытаюсь запуститьclosure
внутриAsyncStream
но, похоже, этого не происходит, я все еще новичок в этом Async/Await, но при добавлении некоторых точек останова я вижу, что мой код туда не попадает. Это мой код и скриншот с некоторыми предупреждениями. Я не совсем знаком с тем, что означают предупреждения, просто пытаюсь изучить все эти новые вещи, я был бы очень признателен за помощь, и есть ли способ исправить это с помощью Swift 6? Заранее спасибо!
Ссылка на захваченную переменную «обратный отсчет» в параллельно выполняющемся коде; это ошибка в Swift 6
Мутация захваченной var 'countdown' в параллельно выполняющемся коде; это ошибка в Swift 6
func countdown(to message: String) async throws {
guard !message.isEmpty else { return }
var countdown = 3
let counter = AsyncStream<String> { continuation in
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in
continuation.yield("\(countdown)...")
countdown -= 1
}
}
for await countDownMessage in counter {
try await say(countDownMessage)
}
}