我想编写一个函数,在检查与服务器的绑定是否正确之后添加 ldap 服务器的参数,否则数据将不会添加到 db 中;我必须使用羽毛 js。在将参数添加到数据库之前,我尝试写几行来验证参数: const ldap=require("ldapjs"); 但问题是,当我在 ldap.bind 函数内部和外部执行 console.log(errors) 时:我注意到结果仅在函数内部可见,而对其余代码不可见!我需要它对其他部分也可见,以便我可以使用它,我想知道如何解决这个问题。
这是代码以及 console.log 的结果。
module.exports = (ldapConnexion, mode = "create") => {
const errors = {
url_path: [],
browsingAccount: [],
password: [],
userSearchBase:[],
};
const client=ldap.createClient({url:ldapConnexion.url_path})
client.bind(ldapConnexion.browsingAccount,ldapConnexion.password,function(err){
if (err){errors.browsingAccount.push("unvalid credentials:"+err);console.log(err)}})
console.log(errors)
const hasErrors = Object.keys(errors).reduce(
(res, errorType) =>
res || (errors[errorType] && errors[errorType].length > 0),
false
);
return { errors, hasErrors };
}