Javascript 如何在Firebase快照中返回数据

Javascript 如何在Firebase快照中返回数据,javascript,firebase,asynchronous,firebase-realtime-database,Javascript,Firebase,Asynchronous,Firebase Realtime Database,我试图从Firebase数据库中检索一些数据,同时将这些数据作为模块导出,因为它将在项目的其他部分中重用。下面的代码返回一个未定义的对象 const admin = require('firebase-admin'); const firebaseDatabase = admin.database(); const firebaseRef = firebaseDatabase.ref('users'); /** * @description * Retrieves names from F

我试图从Firebase数据库中检索一些数据,同时将这些数据作为模块导出,因为它将在项目的其他部分中重用。下面的代码返回一个未定义的对象

const admin = require('firebase-admin');
const firebaseDatabase = admin.database();
const firebaseRef = firebaseDatabase.ref('users');

/**
 * @description
 * Retrieves names from Firebase db
 * @param {String} id
 */
module.exports = function(id){
  firebaseRef.on('value', function(snapshot) {
    return snapshot.val()[id];
  }, function(err) {
    return false;
  });
};

相关:如果要一次性访问数据,应使用
once()
而不是
on()
on()
建立一个侦听器,每次更改都会调用其回调,这可能不是您想要的。它们都是异步的,您必须使用异步编程技术来处理它们的结果(您不能仅从异步函数返回数据)。