_json函数做什么以及它来自哪个库?

时间:2013-10-31 11:15:34

标签: javascript json underscore.js passport.js mean-stack

我一直在查看https://github.com/linnovate/mean

的平均筹码

我想知道_json方法在

中做了什么
passport.use(new FacebookStrategy({
        clientID: config.facebook.clientID,
        clientSecret: config.facebook.clientSecret,
        callbackURL: config.facebook.callbackURL
    },
    function(accessToken, refreshToken, profile, done) {
        User.findOne({
            'facebook.id': profile.id
        }, function(err, user) {
            if (err) {
                return done(err);
            }
            if (!user) {
                user = new User({
                    name: profile.displayName,
                    email: profile.emails[0].value,
                    username: profile.username,
                    provider: 'facebook',
                    facebook: profile._json
                });
                user.save(function(err) {
                    if (err) console.log(err);
                    return done(err, user);
                });
            } else {
                return done(err, user);
            }
        });
    }
));

它看起来像下划线函数,但我在下划线参考中找不到任何内容。也有人知道这是来自哪个图书馆吗?

2 个答案:

答案 0 :(得分:3)

这是一个存储原始JSON的字段。它由Facebook module for Passport

生成
var profile = parse(json);
profile.provider = 'facebook';
profile._raw = body;
profile._json = json;

答案 1 :(得分:0)

使用_name是用于内部目的的对象的常见约定属性,但对于任何情况都是完全合法的。使用Underscore.js,您将只使用_.methodName,而不是_name,因此如果您看到调用方法的下划线对象,则可能是Underscore。下划线使用_name用于内部目的,但您可能永远不会使用它们。