从Firebase函数中的异步函数返回什么?

时间:2017-12-16 01:56:41

标签: javascript typescript firebase google-cloud-functions

在异步函数中,我是否需要返回等待函数正确完成,或者代码是否正常?

const db = admin.firestore();

export const onUserCreate = functions.auth.user().onCreate(async event => {
    try {
        const user: User = {
            userId: event.data.uid,
            email: event.data.email
        };

        await db.doc(`users/${user.userId}`).set(user, {merge: true});
    } catch (error) {
        throw error;
    }
});

1 个答案:

答案 0 :(得分:0)

此函数已经返回一个仅在db.doc(...).set(..)自行解决后才能解析的承诺。在这种情况下,return await将是多余的。

所以我认为你的代码很好,但它很简单,可以完全忘记完全使用async / await,并直接返回promise。例如:return db.doc(...).set(...),未将该函数声明为异步。