iT邦幫忙

0

如何將firebase datebase的數據存成全域函數阿

運用firebase 的範例可以讀取數據庫的資料,但能不能把var foodn1轉換成全域函數

const foodn = firebase.database().ref("eat").child('nn');

foodn.on('value', snap =>{var foodn1=snap.val();console.log(foodn1);});

結果
https://ithelp.ithome.com.tw/upload/images/20200513/20126984hx3QVdk3oI.png

var foodn1;

const foodn = firebase.database().ref("eat").child('nn');

foodn.on('value', snap =>{foodn1=snap.val();console.log(foodn1);});
console.log(foodn1);

結果foodn1是undefined
https://ithelp.ithome.com.tw/upload/images/20200513/20126984oG6bUIqFSH.png
所以只能把運算式放進這嗎?

foodn.on('value', snap =>{foodn1=snap.val();});
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
阿展展展
iT邦好手 1 級 ‧ 2020-05-14 06:13:30
最佳解答

另外宣告一個全域變數
在讀取資料庫的同時
順便把資料帶給全域變數

zsax001 iT邦新手 5 級 ‧ 2020-05-14 09:22:05 檢舉

全域函數已經宣告了,是我不知道該怎把資料提出,如只是宣告提出,數值會出現undefined

zsax001
多寫一個 callback 試試

var foodn1;
foodn.on('value', callback);

function callback(snap) {
    foodn1 = snap.val();
}
console.log(foodn1);

我要發表回答

立即登入回答