私はfirebaseプロジェクトに取り組んでいます。Firebaseの値は、定義されていないときは定義されていません
return user.val().name;
をテスト中しかしながら
console.log(user.val().name)
は.nameのフィールドに格納された実際の文字列が返され
undefined
値を返します。何故ですか。また、変数に変数
を割り当てても変数は未定義のままです。なぜこのようなことが起こるのか理解するのを手伝ってください。私はCSVにそれを印刷しています。
var database = firebase.database();
var ref2 = database.ref('information/');
var id;
var name;
ref2.on("value", function (one) {
one.forEach(function (two) {
if (typeof two.val().Id !== 'undefined') {
id = two.val().Id;
name = program(id); //name undefined
}
else {
id = "";
}
csv = name + "," + id +"\n";
});
download(csv);
});
};
function program (id) {
var database = firebase.database();
var ref = database.ref("users/" + id + "/");
ref.on('value',function(user){
if (typeof user.val().name === 'undefined') {
return null;
}
else {
console.log(user.val().name); //this doesnt show undefined
return user.val().name; //this shows undefined when appended to a html element
}
})
}
注:
はここに私のコードです firebaseデータベースには、名前の値がnullではありません。それには文字列が追加されています。
この戻り値の表示方法を確認してください。 – brandNew
戻り値はvar "name"に割り当てられます。次に、var名をcsvファイルに出力します。 –
これを表示しているhtmlをご覧ください。 – brandNew