Node.js 如何在云函数firestore查询中返回承诺

Node.js 如何在云函数firestore查询中返回承诺,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,以下是我的firebase函数: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); exports.newMatch = functions.https.onCall((data, context) => { const user1 = data.user1; const user1token

以下是我的firebase函数:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp();

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

    const user1 = data.user1;
    const user1token = data.user1token;
    const user2name = data.user2name;
    const user2 = data.user2;
    const gender = data.gender;
    console.log("before query");
    const user1doc = admin.firestore().collection('users').doc(user1);
    user1doc.get().then(doc => {
        console.log(doc.get("fcmToken"));
        return null;
    })
user1doc.get()

  22:2  error  Expected catch() or return  promise/catch-or-return

如何返回承诺以便记录
fcmToken
值?或者有没有不返回承诺的方法?

只需在
get()
s数据行的起始处添加一个
return

return user1doc.get().then(doc => {
    console.log(doc.get("fcmToken"));
    return null;
})

我强烈建议您通过阅读了解更多关于承诺及其在云函数中的作用。

只需在
get()
s数据行的末尾添加一个
return

return user1doc.get().then(doc => {
    console.log(doc.get("fcmToken"));
    return null;
})

我强烈建议通过阅读。

或观看Firebase视频系列中关于“JavaScript承诺”的3个视频,了解更多关于承诺及其在云功能中的作用:!!或者通过观看Firebase视频系列中关于“JavaScript承诺”的3个视频:!!