【问题标题】:Promise in Android, how to implement? [duplicate]Android中的Promise,如何实现? [复制]
【发布时间】:2018-01-19 14:32:47
【问题描述】:

在 Android 上实现相同行为的最简单方法是什么?我的意思是我想让我的线程(不是主线程)等待网络操作并一个接一个地执行它们。在 javascript 中,由于 Promise,有一种简单的方法可以实现此行为。

   exports.someFunction = functions.https.onRequest((req, res) => {
        const userId = req.query.user
        //long time
        ref.orderByChild("parentId").equalTo(userId)
            .on("value", function (snapshot) {

                if (snapshot.val() === null) {
                    res.status(402)
                    return
                }
                snapshot.forEach(function (childSnapshot) {
                    const foo = childSnapshot.val();
                        getAccessToken().then(fistResponse => {

                            var json = JSON.parse(fistResponse);
                            accToken = json.access_token;

                            getMoreInformation(accToken, foo.bar).then(response => {
                                console.log(response)
                                if (isValid(response)) {
                                    res.status(200) 
                                } else {
                                    res.status(402)
                                }
                            })})})})});

目前我正在使用界面,但我想学习其他方式。

我发现在 android 中有类似 Future 的东西,这可能就是我要找的东西。

【问题讨论】:

  • java中没有等待操作,需要使用接口
  • 我提到的Future 怎么样。还没试过,但我会回来提供更多信息。

标签: javascript java android firebase firebase-realtime-database


【解决方案1】:

在 Android 上,您会为此使用 Tasks。事实上,大部分 Firebase Android SDK 返回Tasks,但不幸的是,Firebase 数据库 API 早于它,并且可以与自己的 ValueEventListener 类一起使用。

Firebase 的 Doug Stevenson 是 Tasks 的大师,他拥有:

【讨论】:

    猜你喜欢
    • 2015-03-03
    • 2014-03-30
    • 2016-05-21
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2020-03-27
    • 2019-04-18
    • 1970-01-01
    相关资源
    最近更新 更多