【问题标题】:Firebase onCall functions save the result to a variable in android [duplicate]Firebase onCall函数将结果保存到android中的变量[重复]
【发布时间】:2021-03-07 07:13:08
【问题描述】:

我尝试保存从 Android 应用调用 firebase 函数的结果。我的函数运行良好,因为我在日志中看到了结果。但我无法将其保存到变量中以供进一步使用。有什么想法吗?

public void getUserRankFromFirebase(){
        mFunctions = FirebaseFunctions.getInstance();
        Map<String, Object> data = new HashMap<>();
        String resultFBFunctions = "";

        mFunctions
                .getHttpsCallable("getUserOnCall")
                .call(data)
                .addOnSuccessListener(getActivity(), new OnSuccessListener<HttpsCallableResult>() {
                    @Override
                    public void onSuccess(HttpsCallableResult httpsCallableResult) {

                            resultFBFunctions = httpsCallableResult.getData().toString();
                            Log.d("result1", httpsCallableResult.getData().toString()); //I see result here
                    }
                });
        Log.d("result2", resultFBFunctions); // No result here
    }

【问题讨论】:

    标签: android firebase google-cloud-functions


    【解决方案1】:

    onSuccess() 是异步的。因此,当使用resultFBFunctions 的值时,它可能为空,因为尚未检索到数据...

    检索到的数据应该在onSuccess()方法本身内部使用

    要解决您的问题,请使用在onSuccess() 方法本身内部接收到的数据

    请说明resultFBFunctions 的用途

    This 问题可能会对您有所帮助。随时要求澄清

    【讨论】:

      猜你喜欢
      • 2013-03-23
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2022-09-26
      相关资源
      最近更新 更多