Skip to content

Commit fab8e20

Browse files
authored
Add Task.ignore (#272)
1 parent e68fdf2 commit fab8e20

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

gitbook/task/ignore.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## Task.ignore
2+
3+
Namespace: `FsToolkit.ErrorHandling`
4+
5+
Function Signature:
6+
7+
```fsharp
8+
Task<'a> -> Task<unit>
9+
```
10+
11+
This is a shortcut for `Task.map ignore`.
12+
13+
## Examples
14+
15+
### Example 1
16+
17+
```fsharp
18+
let savePost : CreatePostRequest -> Task<PostId, exn>
19+
```
20+
21+
We can call this with the `do!` syntax inside a computation expression using `Task.ignore` as below:
22+
23+
```fsharp
24+
let makePost = task {
25+
do! savePost createPostRequest |> Task.ignore
26+
}
27+
```

src/FsToolkit.ErrorHandling.TaskResult/Task.fs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ module Task =
4545

4646
let inline map3 ([<InlineIfLambda>] f) x y z = apply (map2 f x y) z
4747

48+
/// Allows us to call `do!` syntax inside a computation expression
49+
let inline ignore (x: Task<'a>) =
50+
x
51+
|> map ignore
4852

4953
/// Takes two tasks and returns a tuple of the pair
5054
let zip (a1: Task<_>) (a2: Task<_>) =

0 commit comments

Comments
 (0)