我是Javascript的新手,并且尝试在函数内部编写函数,但它始终显示为undefine。
function csnotebook(){
function calculate_mw(peptide){
var total_mw=0;
var split_peptide = peptide.split("-");
// Check if the blog id is found in database
Aa.findOne({ three_letter: split_peptide[1] }, (err, aa) => {
// Check if the id is a valid ID
if (!aa) {
console.log("wrong aa");
}else{
total_mw += aa.mw;
}
return total_mw;
});
}
var publicAPI = {
mw: calculate_mw
};
return publicAPI;
}
var fred = csnotebook();
var totalmw = fred.mw("Ala-Cys");
console.log(totalmw);
我假设我可以从数据库中找到相应的值mw,但总的来说,我总是因为某些共振而未定义,有人知道为什么吗?谢谢!!
答案 0 :(得分:0)
内部函数calculate_mw
不会返回任何内容,因此函数的返回值为undefined
,除非您返回一些内容。
如果您想要返回Aa.findOne
的结果,您应该:
return Aa.findOne(...