yoching / Task

Simple task handler in swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task

Simple task handler. You can write asynchronous tasks in a declarative way.

Usage

import Task
import Result

func someAsyncTask1() -> Task<Int, AnyError> {
    return .init { completion in
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.0) {
            completion(.success(1))
        }
    }
}

func someAsyncTask2(int: Int) -> Task<String, AnyError> {
    return .init { completion in
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.0) {
            completion(.success("\(int)"))
        }
    }
}

someAsyncTask1()
    .then { someAsyncTask2(int: $0) } // able to chain tasks with "then"
    .start { result in
        print(result)
}

References

About

Simple task handler in swift

License:MIT License


Languages

Language:Swift 81.5%Language:Objective-C 18.5%