0
私はJavascriptを初めて使用しています。関数内に関数を書き込もうとしていますが、常に定義されていません。なぜ私はいつも未定義に戻っていますか?
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見つけることができると仮定し、しかしtotalmw、私はいつも誰もがなぜ知っている、いくつかのresonのための未定義のですか?ありがとうございました!!
は「それは常に未定義示し、」どのようなショー未定義の? – Dekel
@zzzzbov VTCが時期尚早であった可能性があります。 'Aa.findOne()'が非同期であることを確実に知っていますか? –
@zzzzBov私は 'Aa.findOne'が非同期であるとは確信していません。 – Dekel