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)
}
}
}