iOS developer essential skills/Modern Concurency
Modern Concurrency Deep Dive(11)
jgkim1008
2024. 11. 24. 22:48
Task Cancel
- 비동기 함수 내에서 작업 취소에 대한 로직을 넣어줘야 작업이 취소됨
func failCancelFunction() asnyc {
// Do something
}
func cancelFunction() asnyc throws {
guard !Task.isCancelled else {
throw CancellationError()
}
// Do Something
}
var task: Task<Void, Never>?
task = Task {
await failCancelFunction() // 취소 동작 안함
await cancelFunction() // 취소 동작함
}
task.cancel()?