Как преобразовать асинхронную функцию/метод издателя в 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
Ответить

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

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

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

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

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