return SignalProducer<[User], APIError> { observer, lifetime in repository.fetchUsers(with: name) { result in switch result { case .success(let users): observer.send(value: users) observer.sendCompleted() case .failure(let error): observer.send(error: error) } } } }
{ result in switch result { case .success(let users): print(users) case .failure(ActionError<APIError>.disabled): print("could not execute") case .failure(ActionError<APIError>.producerFailed(let apiError)): print(apiError) } }
{ result in switch result { case .success(let users): print(users) case .failure(ActionError<APIError>.disabled): print("could not execute") case .failure(ActionError<APIError>.producerFailed(let apiError)): print(apiError) } } ݸผʹϋϯυϦϯά͢Δ͜ͱͰ͖Δ ݸผʹϋϯυϦϯά͠ͳ͍ύλʔϯ ݸผʹϋϯυϦϯά͢Δύλʔϯ
{ result in switch result { case .success(let users): print(users) case .failure(ActionError<APIError>.disabled): print("could not execute") case .failure(ActionError<APIError>.producerFailed(let apiError)): print(apiError) } } ࣮ߦͰ͖ͨ ݁Ռޭͩͬͨ
{ result in switch result { case .success(let users): print(users) case .failure(ActionError<APIError>.disabled): print("could not execute") case .failure(ActionError<APIError>.producerFailed(let apiError)): print(apiError) } } ࣮ߦෆՄͷঢ়ଶͩͬͨ
{ result in switch result { case .success(let users): print(users) case .failure(ActionError<APIError>.disabled): print("could not execute") case .failure(ActionError<APIError>.producerFailed(let apiError)): print(apiError) } } ࣮ߦͰ͖ͨ ݁Ռࣦഊͩͬͨ