Javascript firebase数据库函数返回值
我试图在从firebase读取数据后返回一个值,但ai没有得到正确的值: 这就是我所拥有的:Javascript firebase数据库函数返回值,javascript,firebase,firebase-realtime-database,promise,return-value,Javascript,Firebase,Firebase Realtime Database,Promise,Return Value,我试图在从firebase读取数据后返回一个值,但ai没有得到正确的值: 这就是我所拥有的: bill = database.ref('/restaurant/' + orderTest.restaurantKey ).once('value').then(snapchot =>{ restaurantData = snapchot.val() *some functions that make billTest to 0 billTest = 0;
bill = database.ref('/restaurant/' + orderTest.restaurantKey ).once('value').then(snapchot =>{
restaurantData = snapchot.val()
*some functions that make billTest to 0
billTest = 0;
return billTest;
});
我从中得到的是,当我记录bill时:
ZoneAwarePromise {__zone_symbol__state: null, __zone_symbol__value: Array(0)}
__zone_symbol__state: true
__zone_symbol__value: 0
Symbol(Symbol.toStringTag): (...)
__proto__: Object
但我只想得到0的正常值
我知道我做错了什么,但我尽了全力。我也是一个乞丐,所以我在这里请求一些帮助数据是从Firebase异步加载的。使用
async
/await
关键字可以最接近您现在拥有的内容:
const snapshot = await database.ref('/restaurant/' + orderTest.restaurantKey ).once('value')
restaurantData = snapchot.val()
billTest = 0;
return billTest;
我建议花一些时间阅读异步方法调用,例如:
- MDN指南