伙计们,我需要一些帮助来获得Node和Firebase的回报。

我得到一个空数组。

但是在console.log内部foreach可以正确打印

[{cnpj:'03052164798-000179',地址:'Caxias Av Duke 99999',名称:'Testing',电话:'999999999'}]

getEmpresas() {
    let empresas = []

    firebase.firestore().collection('empresa').get().then(snapshot => {

      snapshot.docs.forEach(empresa => {

        empresas.push(empresa.data())
        console.log(empresas)
      });

    })
    return empresas

最佳答案

我认为这是关于异步的问题。您没有在return中获得所需的数据,因为该数据会在发出异步请求之前触发。您将需要以下内容:

const getEmpresas = async () => {
  let empresas = []

  const snapshot = await firebase
    .firestore()
    .collection('empresa')
    .get();

  snapshot.docs.forEach((empresa) => {
    empresas.push(empresa.data());
  });

  return empresas;
};

关于node.js - 找回空的Node.js + Firebase,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57619084/

10-11 08:36