繁体   English   中英

从异步函数获取返回的数据

[英]Get returned data from async function

使用以下异步功能,我从Firebase Firestore实例获取数据:

export async function getSomething(db, id) {
  db.collection('someting').doc(id).get().then((doc) => {
    if (doc.exists) {
      return doc.data();
    }
    throw new Error('No such document!');
  }).catch((error) => {
    throw new Error('err', error);
  });
}

我这样称呼这个函数:

getSomething(db, this.id).then((data) => {
  console.log(data); // data is empty here
}).catch((err) => {
  console.log(err);
});

问题是, then函数上的data为空。 如何从getSomething函数获取数据? 返回数据还不够吗?

如果要从函数中获取值,则需要从中返回一些值。

您有许多return语句,但是它们都在回调内部。

您自己需要一个getSomething。

return db.collection('someting').doc(id).get().then((doc) => {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM