仅当 Promise 在 Firebase Cloud 函数 : Typescript 中返回 true 时,才进一步执



我有一个HTTPS云函数:

export const verifyUser = functions.https.onRequest((req,response) =>{
if(verifyUserRequest(“xxx”,”yyy”)) console.log(“valid user”)
else console.log(“invalid user”)
})

verifyUserRequest(uid: any, userToken: any): Promise<boolean>{
const firestoreDb = admin.firestore();
let userRef = firestoreDb.collection('India').doc(uid)
return userRef.get().then(doc => {
if(!doc.exists) return false
else if(doc.get('authToken')===userToken){
console.log('user token valid');
return true
}
else return false 
})
.catch(err => {
console.log(err)
return false
})
}

基于在export const verifyUser调用时返回的verifyUserRequest()值,我想要相应的日志。 但该功能async功能。如何在打字稿中实现它?

对于任何返回 promise 的函数,请使用then()(或 async/await 语法(获取返回的值。 这与 Firestore API 的工作方式完全相同,后者返回您现在已在使用的承诺。 这也是标准的承诺处理 JavaScript,您可以进行搜索以了解。

export const verifyUser = functions.https.onRequest((req,response) =>{
verifyUserRequest("xxx", "yyy")
.then(result => {
if(result) console.log("valid user")
else console.log("invalid user")
})
})

您还应该让您的函数向调用方发送结果,这样它就不会超时。

最新更新