【发布时间】:2020-08-04 22:18:18
【问题描述】:
我有一个函数可以返回 firebase firestore 查询的快照。如下:
export async function getClientWorkflowsFromFirebase(clientID) {
const snapshot = await firebase.firestore().collection("workflows").where("client_id", "==", clientID).get();
return snapshot
}
要运行上面的代码并得到我想要的结果,我这样做:
getClientWorkflowsFromFirebase("some-client-id").then((x)=>{
x.forEach(doc => {
console.log(doc.data());
});
});
它工作正常,但它不是我想要的 API。我想获得相同的结果,而最终用户不必记住doc.data()。
相反,我希望 thenable 函数为用户提供如下数据:
getClientWorkflowsFromFirebase("some-client-id").then((arr)=>{
arr.forEach(val => {
// data is then available in val, not val.data()
});
});
如何重写函数以提供最终结果?
【问题讨论】:
标签: javascript firebase google-cloud-firestore async-await es6-promise