Skip to content

Commit 059153e

Browse files
committed
Update README.md
1 parent 61d2db7 commit 059153e

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

README.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,15 @@ let task = Task<Float, String, NSError> { (progress, fulfill, reject, configure)
2626
})
2727

2828
// pause/resume/cancel configuration (optional)
29-
configure.pause = { player.pause() }
30-
configure.resume = { player.resume() }
31-
configure.cancel = { player.cancel() }
29+
configure.pause = { [weak player] in
30+
if let p = player { p.pause() }
31+
}
32+
configure.resume = { [weak player] in
33+
if let p = player { p.resume() }
34+
}
35+
configure.cancel = { [weak player] in
36+
if let p = player { p.cancel() }
37+
}
3238

3339
}
3440

@@ -168,9 +174,16 @@ Optionally, you can call `progress(progressValue)` multiple times before calling
168174
To add `pause`/`resume`/`cancel` functionality to your `task`, use `configure` to wrap up the original one.
169175

170176
```swift
171-
configure.pause = { player.pause() }
172-
configure.resume = { player.resume() }
173-
configure.cancel = { player.cancel() }
177+
// NOTE: use weak to let task NOT CAPTURE player via configure
178+
configure.pause = { [weak player] in
179+
if let p = player { p.pause() }
180+
}
181+
configure.resume = { [weak player] in
182+
if let p = player { p.resume() }
183+
}
184+
configure.cancel = { [weak player] in
185+
if let p = player { p.cancel() }
186+
}
174187
```
175188

176189
### task.progress(_ progressClosure:) -> task
@@ -215,7 +228,7 @@ This case is similar to JavaScript's `promise.then(onFulfilled)`.
215228
216229
```swift
217230
// task will be fulfilled with value "Hello"
218-
// task2 will be fulfilled with value "\() Swift"
231+
// task2 will be fulfilled with value "\(value) Swift"
219232
220233
task.then { (value: String) -> Task<Float, String, NSError> in
221234
let task2 = ... // fulfilling "\(value) Swift"

0 commit comments

Comments
 (0)