これは私のコードです:関数が配列を返さないのはなぜですか?
document.getElementById('revealUser').onclick = displayDaUsers
function displayDaUsers(){
pullAllUsersFromDB();
debugger;
}
function pullAllUsersFromDB(){
rootRef.child('users').on('value', function(snapshot) {
var users_array = [];
var users_object = snapshot.val();
Object.keys(users_object).map(function(key) {
users_array.push(users_object[key]);
});
// window.dateApp.allUsers = users_array;
return users_array
});
}
HTML:
<input type="submit" id="revealUser" value="reveal user">
私はこの問題を確認するには、デバッガを置くが、それは解決しません。私はusers_array
でコンソールと型に行くとき、私はUncaught ReferenceError: users_array is not defined(…)
NEW CODE(EDIT)を取得:
これは動作するはず別のstackoverflowの答えによると...
function displayDaUsers(){
var test = pullAllUsersFromDB();
console.log(test);
//pullAllUsersFromDB();
//debugger;
//setUpFirstUser()
}
function pullAllUsersFromDB(){
rootRef.child('users').on('value', function(snapshot) {
var users_array = [];
var users_object = snapshot.val();
Object.keys(users_object).map(function(key) {
users_array.push(users_object[key]);
});
//window.dateApp.allUsers = users_array;
return users_array
});
}
これは関数内で宣言されています(ローカルスコープ)。コンソールからはアクセスできません。 –
'users_array'はローカル変数であり、関数呼び出しの戻り値を捕まえることはありません。 –
しかし、私はその機能の中でアクセスできることを意味するデバッガを入れましたか? @FastSnail – Waterman1