Firebase onCall函数将结果保存到android中的变量[重复]

Posted

技术标签:

【中文标题】Firebase onCall函数将结果保存到android中的变量[重复]【英文标题】:Firebase onCall functions save the result to a variable in android [duplicate] 【发布时间】: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
    

【问题讨论】:

【参考方案1】:

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

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

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

请说明resultFBFunctions 的用途

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

【讨论】:

以上是关于Firebase onCall函数将结果保存到android中的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从 onCall firebase 云函数返回一个字符串

保护 Firebase HTTP onCall 函数

Firebase:如何调用 https.onCall 函数 node.js?

Firebase 云功能 - onCall 不起作用

Firebase Http Oncall 函数

有啥方法可以使用角度组件中的 onCall Firebase 函数?