Skip to content

Commit f6ae757

Browse files
authored
Fix the infinite loop issue when WebSocket returns an error message in the example case. (#3508)
* fix infinite loop issue when WebSocket receives an error message * catch the error * syntax update
1 parent 547d19c commit f6ae757

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Examples/CaseStudies/SwiftUICaseStudies/03-Effects-WebSocket.swift

+6-1
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,12 @@ extension WebSocketClient: DependencyKey {
300300
return AsyncStream { continuation in
301301
let task = Task {
302302
while !Task.isCancelled {
303-
continuation.yield(await Result { try await Message(socket.receive()) })
303+
do {
304+
let socketMessage = try await Message(socket.receive())
305+
continuation.yield(.success(socketMessage))
306+
} catch {
307+
continuation.yield(.failure(error))
308+
}
304309
}
305310
continuation.finish()
306311
}

0 commit comments

Comments
 (0)