【发布时间】:2013-07-23 12:47:47
【问题描述】:
我正在开发用于获取闭包变量的论文软件。
这是我在 node.js 中的代码
var kepala = express.basicAuth(authentikasi);
// authenticate for login
function authentikasi(user, pass, callback) {
// declrare my database mongodb
db.collection('ak_teacher', function (err, data) {
data.findOne({
'tch_name': {
'$regex': user
}
}, function (err, level) {
console.log(level); // monitor data
if (level == null) {
console.log('Nilai database kepala sekolah masuk Null ulangi login');
callback(null);
} else {
var a = level.tch_name;
var b = level.tch_password;
var c = level.sch_id; // (i need this variable for next code)
var result = (user === a && pass === b);
console.log("id Sekolah : " + c);
callback(null /* error */ , result);
}
});
});
};
var tes = authentikasi(); // (in here i dont know declare for get my variable c)
app.get('/siswa_2', kepala, function (req, res) {
// i use variable in here
var sch_id = tes;
console.log("id school in query :" + sch_id);
console.log('Menampilkan Seluruh data Siswa');
db.collection('ak_student', function (err, collection) {
collection.find({
"sch_id": sch_id
}).toArray(function (err, items) {
console.log(items);
res.send(items);
});
});
});
我正在尝试获取变量c。
【问题讨论】:
-
那是一个格式非常糟糕的代码...
-
你需要什么闭包?什么函数中的什么变量?
-
还有一个人想要从异步代码中返回一个值。本周我已经回答了三个类似的问题,我这样做只是因为我厌倦了将这样的问题作为重复的问题结束,因为找到我喜欢的答案比简单地回答问题更难。我们需要一个好的、众所周知的社区答案。
-
我在 node.js 中的代码我使用的是 framework express
-
请帮我获取变量 c 以在 var tes 中使用..我不知道使用逻辑来获取它..
标签: javascript node.js mongodb authentication express