【发布时间】:2019-05-12 08:38:00
【问题描述】:
我有以下代码:
let promises = [];
//Return first promise from DB save to zone_obj list
firebase.database().ref('node-client/images').once('value').then(function(snapshot) {
promises.push(snapshot.val());
});
Promise.all(promises).then(values => {
console.log(values); // zone_obj
});
我想查询 firebase 数据库,并且对于每个快照,将 val 添加到数组中。
我不完全理解承诺的概念,因此为什么这不起作用。
有人可以提供一些解释或示例说明为什么这不起作用/如何解决它。
我认为它会在每次获取 val 时添加一个 Promise,然后在添加所有 Promise 后记录值。
【问题讨论】:
-
将
Promise推入数组。不是承诺值。promises.push(firebase.database().ref('node-client/images').once('value')). -
从数据库中检索完成后是否会收到“结束”事件?
标签: node.js firebase firebase-realtime-database promise