【问题标题】:Firebase function, get hashmap data from onCallFirebase函数,从onCall获取hashmap数据
【发布时间】:2019-10-12 00:43:32
【问题描述】:

我对如何在 firebase 函数中接收和使用哈希图有疑问。我看到数据正在正确发送。但是使用它是一个问题。

我如何从 Android 平台发送数据

fun onStartChatClicked() {
    val functions = FirebaseFunctions.getInstance()
    val map = HashMap<String, String>()

    usersToChatWith.forEach {
        map.put(it.userId!!, it.username!!)
    }

    functions.getHttpsCallable("startChatWithUsers")
        .call(map)
        .continueWith {task ->
               if (task.isSuccessful) {

               } else {

               }
        }
}

我也试过hashMapOf()函数。以防万一:P

当我只是在 firebase 函数中打印接收数据时。我确实像一些典型的 Json 字符串一样理解它

{ '3SYIpex6u1Mx31j1UUngKAy95hq2': 'user1', JgoKrekU6nNusxeMBr6JAjkCReX2: 'user2' }

简化的firebase函数代码

export const startChatWithUsers = functions.https.onCall(async (data , context) => {

        /** A little code */

        for (let [userId, username] of data) {
            /** some code */
        }

       /** Some more code */

    })

问题在于函数无法遍历给定的数据。因为如果我理解正确的话。它不认为给出的数据是地图。

【问题讨论】:

    标签: android typescript firebase google-cloud-functions


    【解决方案1】:

    根据您问题中的代码,您似乎正试图通过获取对象中每个条目的键值对来迭代对象。

    但是,您省略了将对象转换为键值对集合所需的 entries() 调用。

    在你的 for 循环中试试这个:

    for (let [userId, username] of data.entries()) {
      /** some code */
    }
    

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2018-11-02
      • 2022-09-26
      • 2019-01-26
      • 2019-02-22
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 2019-04-30
      相关资源
      最近更新 更多