Как преобразовать асинхронную функцию/метод издателя в Swift6IOS

Программируем под IOS
Anonymous
Как преобразовать асинхронную функцию/метод издателя в Swift6

Сообщение Anonymous »

Я попытался сделать как можно более простой пример, используя Swift 6, чтобы создать эту проблему, которую мне трудно решить: < /p>
func getValue() async -> Int { 0 }

func getValuePublisher() -> AnyPublisher {
Future { continuation in
Task {
let value = await getValue()
continuation(.success(value))
}
}.eraseToAnyPublisher()
}
< /code>
Это приведет к ошибке времени компиляции (только Swift 6), в которой говорится, что «передача закрытия в качестве риска для параметров отправки», вызывая раскрых между кодом в текущей задаче и одновременное выполнение закрытия ». Я уверен, что мне просто нужно использовать более подходящие инструменты для работы, но у меня возникают проблемы с поиском правильного инструмента для использования. Это просто нужно как -то включить в трубопровод издателей.

Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-swift6

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