Skip to content

romansl/Promeso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Promeso

Simple promise library for Kotlin

Callback to Promise:

    fun someCallbackToPromise(): Promise<Int> {
        val completion = Promise.create<Int>()

        foo.setSomeCallback(object : SomeCallback {
            override fun onCallback(bar: Int) {
                completion.setResult(bar)
            }

            override fun onError(e: Exception) {
                completion.setError(e)
            }
        })

        return completion.promise
    }

Simple usage:

    fun processPromise() {
        someCallbackToPromise().then(diskExecutor) { 
            readSomeDataFromDiskByIndex(result)
        }.then(uiExecutor) {
            try {
                displayResult(result)
            } catch (e: Exception) {
                log.error("some error", e)
            }
        }
    }