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

仅当Firebase Cloud function:Typescript中Promise返回true时,才进一步执行调用函数,typescript,firebase,google-cloud-functions,Typescript,Firebase,Google Cloud Functions,我有一个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)

我有一个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=functions.https.onRequest((请求,响应)=>{
if(verifyUserRequest(“xxx”、“yyy”))console.log(“有效用户”)
else console.log(“无效用户”)
})
verifyUserRequest(uid:any,userToken:any):承诺{
const firestoreDb=admin.firestore();
让userRef=firestoreDb.collection('India').doc(uid)
返回userRef.get()。然后(doc=>{
如果(!doc.exists)返回false
else if(doc.get('authToken')==userToken){
log('user token valid');
返回真值
}
否则返回false
})
.catch(错误=>{
console.log(错误)
返回错误
})
}
根据在
export const verifyUser
调用时返回的
verifyUserRequest()
值,我需要相应的日志。
但该函数是
async
函数。如何在Typescript中实现它?

对于任何返回承诺的函数,请使用
then()
(或异步/等待语法)获取返回值。这与Firestore API的工作原理完全相同,Firestore API返回您现在已经在使用的承诺。这也是标准的promise处理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")
    })
})
您还应该让函数向调用者发送一个结果,这样它就不会超时