[英]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.