File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -89,6 +89,25 @@ public enum Result<Success, Failure: Error> {
89
89
/// Returns a new result, mapping any success value using the given
90
90
/// transformation and unwrapping the produced result.
91
91
///
92
+ /// Use this method to avoid a nested result when your transformation
93
+ /// produces another `Result` type.
94
+ ///
95
+ /// In this example, note the difference in the result of using `map` and
96
+ /// `flatMap` with a transformation that returns an result type.
97
+ ///
98
+ /// func getNextInteger() -> Result<Int, Error> {
99
+ /// .success(4)
100
+ /// }
101
+ /// func getNextAfterInteger(_ n: Int) -> Result<Int, Error> {
102
+ /// .success(n + 1)
103
+ /// }
104
+ ///
105
+ /// let result = getNextInteger().map({ getNextAfterInteger($0) })
106
+ /// // result == .success(.success(5))
107
+ ///
108
+ /// let result = getNextInteger().flatMap({ getNextAfterInteger($0) })
109
+ /// // result == .success(5)
110
+ ///
92
111
/// - Parameter transform: A closure that takes the success value of the
93
112
/// instance.
94
113
/// - Returns: A `Result` instance with the result of evaluating `transform`
You can’t perform that action at this time.
0 commit comments