So konvertieren Sie die asynchronisierte Funktion/Methode in den Verlag in SWIFT6

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So konvertieren Sie die asynchronisierte Funktion/Methode in den Verlag in SWIFT6

by Anonymous » 13 Apr 2025, 09:11

Ich habe versucht, ein möglichst einfaches Beispiel wie möglich mit Swift 6 zu machen, um dieses Problem zu erzeugen.func getValue() async -> Int { 0 }

func getValuePublisher() -> AnyPublisher {
Future { continuation in
Task {
let value = await getValue()
continuation(.success(value))
}
}.eraseToAnyPublisher()
}
< /code>
Dies erzeugt einen Kompilierungszeitfehler (nur Swift 6), der "Verschluss als" Senden "-Parameterrisiko, das Datenrennen zwischen dem Code in der aktuellen Aufgabe und gleichzeitiger Ausführung des Verschlusses verursacht". Ich bin sicher, ich muss nur geeignetere Tools für den Job verwenden, aber ich habe Probleme, ein richtiges Tool zu finden. Es muss einfach irgendwie in die Publisher -Pipeline aufgenommen werden.

Top