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.
So konvertieren Sie die asynchronisierte Funktion/Methode in den Verlag in SWIFT6 ⇐ IOS
-
- Similar Topics
- Replies
- Views
- Last post