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

问题描述 投票:1回答:1

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

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;
    }
});
javascript typescript firebase google-cloud-functions
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.