【问题标题】:Android Kotlin what is Promise?Android Kotlin Promise 是什么?
【发布时间】:2020-02-02 15:36:43
【问题描述】:

我在 Android (Kotlin) 上使用加载一些页面的 WebView 工作,并且我与这个页面有交互 @Javascript接口

我的客户写了一些我必须实现的功能,例如:

 @JavascriptInterface
    fun fileExists(path: String): Promise<Boolean>? {
        return null
    }

但是没有找到类Promise,也不知道它是什么,需要使用哪个库。

他唯一的答案是“看看 Cordova 如何将 Promise 转换为 Java 对象”

也许有人可以帮助我,或者只是提供一些信息,现在我什至不知道方向

我试过这个 2 实现“org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version” 实现“org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version”

但里面没有 Pormise 对象。

感谢您的帮助

【问题讨论】:

    标签: android kotlin


    【解决方案1】:

    Promise 作为一种模式在JS 世界中是众所周知的,但它在Android 的人们中并不那么流行,可能是因为我们有一个非常强大的RxJava 库。但是,如果您只需要 RxJava 用于单值响应(Single),例如单个网络请求和像 flatMapmap 这样的耦合转换操作,该怎么办。如果是这种情况,那么您应该考虑适用于单值响应的 Promise 模式。

    Promise 的使用示例:

    fun postItem(item: Item) {
        preparePostAsync() 
            .thenCompose { token -> 
                submitPostAsync(token, item)
            }
            .thenAccept { post -> 
                processPost(post)
            }
    
    }
    
    fun preparePostAsync(): Promise<Token> {
        // makes request an returns a promise that is completed later
        return promise 
    }
    

    【讨论】:

    • 我的问题是“Promise”类不存在。我需要添加哪个库才能拥有它?
    猜你喜欢
    • 2018-12-22
    • 2021-06-05
    • 2012-06-15
    • 2018-01-24
    • 1970-01-01
    • 2015-05-09
    • 2017-09-11
    • 2018-02-07
    • 2019-06-18
    相关资源
    最近更新 更多