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)
    }
 }

0 ответов

Другие вопросы по тегам