Supposons que j'ai une fonction telle que:obtenir tout élément non-erreur dans une liste de report en OCaml/Async
query_server : Server.t -> string Or_error.t Deferred.t
Je produire une liste des requêtes différées:
let queries : string Or_error.t Deferred.t list = List.map servers ~f:query_server
Comment pour obtenir le résultat de la première requête qui n'échoue pas (ou une erreur sinon). Au fond, je voudrais une fonction telle que:
any_non_error : 'a Or_error.t Deferred.t list -> 'a Or_error.t
Aussi, je ne suis pas sûr de savoir comment agréger en quelque sorte les erreurs. Peut-être que ma fonction a besoin d'un paramètre supplémentaire tel que Error.t -> Error.t -> Error.t
ou existe-t-il un moyen standard de combiner les erreurs?