gpt4 book ai didi

android - 在 Firebase 云函数中返回 map 为空

转载 作者:行者123 更新时间:2023-12-04 23:58:02 24 4
gpt4 key购买 nike

我试图在 Firebase 云 onCall 函数中返回一组值,但是当我在我的 Android 应用程序中读取值时,部分数据丢失了。

这是云函数:

exports.getPhotoUrls = functions.https.onCall(async (data, context) => {

let usersAndPhotos = new Map();
usersAndPhotos.set("bob", "2345");
usersAndPhotos.set("sam", "345");

const returnVal = {
payload: usersAndPhotos,
status: 200,
message: "Success"
}
console.log("ReturnVal: " );
console.log(returnVal)

return returnVal
})

当我查看 Firebase 函数日志时,我看到返回值为:

{ payload: Map { 'bob' => '2345', 'sam' => '345' },
status: 200,
message: 'Success' }

但是,当该函数返回到我的 Android 应用程序时,负载映射丢失了:

enter image description here

为什么我的负载 map 数据消失了?

最佳答案

这张 map 就在这里:

let usersAndPhotos = new Map();

是一个 ES6 Map 类型的对象。 Cloud Functions 可调用对象无法对其进行有效序列化。如果你想将 map 发送回客户端,你应该使用一个普通的旧 JavaScript 对象,它有一个清晰和直接的 JSON 序列化(这是被用作实际负载的东西):

let usersAndPhotos = {
bob: "2345",
sam: "345"
}

关于android - 在 Firebase 云函数中返回 map 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61763375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com