如何从函数返回Firebase实时数据库的快照值?

vshtjzan  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(95)

我想返回实时数据库的snapshot.val()

function get_details(){
   get(ref(db,"pay/0/0/")).then((snapshot) => {
       if (snapshot.exists()) {
           var resp = [];
           resp.push(snapshot.val());
           return resp;
       }
   }
}

let response = get_details();
console.log(response); //undefined

我一直得到undefined作为返回值。我已经按照this帖子的答案。
如何解决此问题?

iszxjhcz

iszxjhcz1#

如果您从代码中的其他地方调用get_details,请尝试:

async function get_details() {
  const snapshot = await get(ref(db, "pay/0/0/"))
  return snapshot.val()
}

// get_details() also returns a Promise.
get_details().then((response) => {
  // continue
  console.log('Value is', response)
})

// Alternatively, if parent function is async

const mainFunc = async () => {
  const response = await get_details()
}

同时检出How do I return the response from an asynchronous call?

相关问题