gpt4 book ai didi

javascript - Firebase云函数在Flutter中返回null,因为它仍在运行

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

更新:我正在从我的 firebase 控制台中获取此信息:函数执行花费了 2906 毫秒,完成状态代码:20015 秒后,我得到:console.log DOC 确实存在

我正在运行此云 Firestore 功能。它“有效”,但我不断得到这样的返回:FLUTTER:NULL

但是在 firebase 控制台中,我得到了 console.log,上面写着“DOC DOES EXIST”。

有什么办法可以解决这个问题吗?语言 typescript

非常感谢!

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

console.log(data.message);

const kRef = admin.firestore().collection('Keys').doc(data.message)
kRef.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
return {returnMessage: 'FALSE'}
} else {
console.log('DOC DOES EXIST');
return {'returnMessage: 'TRUE'}
}
})
.catch(err => {
console.log('Error getting document', err);
});
});

最佳答案

可调用函数必须返回一个 promise ,该 promise 将解析发送给客户端的数据。如图所示,该函数在顶层没有返回任何内容。从 then 回调返回还不够。您还需要返回 then 返回的 promise :

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

console.log(data.message);

const kRef = admin.firestore().collection('Keys').doc(data.message)
return kRef.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
return {returnMessage: 'FALSE'}
} else {
console.log('DOC DOES EXIST');
return {'returnMessage: 'TRUE'}
}
})
.catch(err => {
console.log('Error getting document', err);
});
});

关于javascript - Firebase云函数在Flutter中返回null,因为它仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661340/

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