Async/watiate Timeout расширение [дублировать]IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Async/watiate Timeout расширение [дублировать]

Сообщение Anonymous »

Я пытаюсь создать метод тайм -аута для задач Async/ждать. Я думал о добавлении метода в расширение задачи , но я получаю ошибки.
Вот мой код:
import Foundation

func test() async throws {
// ---> Error: Generic parameter 'Failure' could not be inferred
let result = try await Task.withTimeout(after: .seconds(0.1)) {
try await test2()
}
}

func test2() async throws -> Int {

}

extension Task {
static func withTimeout(
after duration: Duration,
operation: @escaping @Sendable () async throws -> T
) async throws -> T {
try await withThrowingTaskGroup(of: T.self) { group in
group.addTask {
try await operation()
}

group.addTask {
try await Task.sleep(for: duration) // Error ----> Referencing static method 'sleep(for:tolerance:clock:)' on 'Task' requires the types 'Failure' and 'Never' be equivalent
throw CancellationError()
}

guard let result = try await group.next() else {
throw CancellationError()
}

group.cancelAll()
return result
}
}
}
< /code>
Это две ошибки компиляции, которые я получаю: < /p>
Generic parameter 'Failure' could not be inferred
Referencing static method 'sleep(for:tolerance:clock:)' on 'Task' requires the types 'Failure' and 'Never' be equivalent
< /code>
Но я не понимаю этих ошибок. Если у кого -то есть идея ..
Редактировать: Нашел решение здесь: https://gist.github.com/swhitty/9be89df ... 916273bbb9, может кто -то не удалять это, потому что это поможет другим.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -extension
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка MongoDB: не найдено подходящих серверов (`serverselectiontryonce` set): [Timeout Timeout Socket Timeout Call Hell
    Anonymous » » в форуме Php
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Проблема с Async/watiate в JavaScript, вызывая автоматическую отправку в WebForms ASP.NET
    Anonymous » » в форуме Javascript
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Неожиданное поведение от Async/watiate in create_task
    Гость » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Гость
  • Неожиданное поведение от Async/watiate in create_task
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • AvassetExportSession не удастся с «прерванной операцией» после слияния сегментов аудио (iOS async/watiate)
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»