試圖使函數isNameInDbId
查看名稱是否在mongoDB的列表中。我想我(可能?)需要一個關閉,但我不能得到它的工作,它目前出錯。如果我不使用閉包,則函數回調不知道變量name
,或者我可以用不同的方式來完成此操作。我嘗試了幾種方法。javascript中的回調不起作用
代碼:
var name = "john";
var dbID = 123123123;
isNameInDbId(name, dbID, function (success) {
if(success) {
// log("[INFO] name is in list");
return;
}
});
功能:
function isNameInDbId(name, dbID, callback) {
user_collection.findOne({_id : dbID}, (function(err, doc) {
var names = [];
var success = false;
if(doc) {
names = doc.names;
if(names.indexOf(name))
success = true;
}
callback(success);
})(name);
}
那'(名稱)'看起來錯誤的,應該被忽略。 – Bergi