Avatar
おおお、ここ完全に見逃してました。
1:18 AM
あー、これは非同期 API 利用側がキャンセルをハンドリングするためのものではなくて、実装側がキャンセルをハンドリングするためのものか。
1:19 AM
task.cancel が呼び出されたときに、 download 関数の実装者は URLSessionTask を即時 cancel したいけど、それを実現するために使えるという。
1:21 AM
Ideally translate NSURLErrorCancelled to CancellationError here
については、やっぱり Convention 上はキャンセル時は CancellationErrorthrow されるようにしたいという意識なのかな。ただ、 100% 保証は無理だから、やっぱり呼び出し側では as CancellationError で判別するのではなく Task.isCancelled が良さそう。