如果条件始终执行

时间:2019-08-08 09:16:08

标签: node.js typescript firebase google-cloud-firestore google-cloud-functions

我试图基于数据库中对象的布尔值来限制if语句的执行。 由于某种原因,它总是执行。我是TypeScript的新手,所以我可能会遇到一些基本的错误。

这是我的代码:

exports.newCommunity = functions.firestore.document('communities/{communityID}').onCreate((snap, context) => {

    const community = snap.data();
    if (community !== undefined) {
        if (community.public == true) {
            return createCommunityInAlgolia(community);
        } else {
            return null;
        };
    } else {
        return null;
    };
});

我也尝试将其作为if语句(community.public === true)或什至只是此(community.public)(因为该值为布尔值)。但是它总是执行。 我在代码中找不到任何其他原因可以执行此功能。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

如果要检查快照中是否有数据(始终在onCreate触发器中存在),然后检查其中的数据,则更好:

const community = snap.data();
if (community && community.public) {
    // your code
}