Javascript功能&模块没有返回值

时间:2016-01-11 15:54:32

标签: javascript node.js function

我正在使用node.js构建应用程序,而我正在使用用户身份验证模块。在该函数中,我检查数据库中是否存在用户的cookie / session_id。如果是,则该函数应返回true。如果没有,则功能应返回false。但是,我的功能一直在返回undefined&我发了一条注释,返回undefined。

exports.authenticate = function(rawCookie) {
        if(rawCookie) {
            var processedCookie = rawCookie.split('=');
            var cookie = processedCookie[1];
            var sessionIdArray = [];
            var result;
            knex.select('session_key')
                .from('users')
                .then(function(data) {
                    data.forEach(function(item) {
                        sessionIdArray.push(item.session_key);
                    })
                    if((sessionIdArray).indexOf(cookie) > -1) {

                        console.log('session id exists; can log in');
                        result = true;
                    } else {
                        console.log('session id does not exist; hacker alert')
                        result = false;
                    }
                })
                return result //this returns undefined
        } else {
            return false
            console.log('no cookie');
        }
    }

有人可以帮忙吗?我认为这个问题与异步有关。

提前致谢!

0 个答案:

没有答案