我创建了一个函数来遍历DataSnapshot
的所有字段。
这是我的进口
import type {
DataSnapshot,
DocumentRef,
DocumentSnapshot,
} from 'react-native-firebase';
函数如下:
getRefData = (data: typeof DataSnapshot) {
return new Promise(async (resolve: Function) =>{
const refs = await Object.keys(data).map((key: string) => {
const field = data[key];
if (field instanceof DocumentRef) {
/// LOGIC HERE
}
});
});
};
如果字段是DocumentRef
,我实际上想添加一些逻辑。它甚至未定义,请参阅下面的错误:
Unhandled rejection is {promise: Promise, reason: ReferenceError: DocumentRef is not defined
at blob:http://localhost:8081/68a9c3b0-2327-429a-b5c7…}
有没有不同或直接的方法可以做到这一点?可能出了什么问题?
我认为在JavaScript 中还没有直接的方法可以做到这一点,因为很难使用类型进行验证,所以我决定通过添加包含所有引用的名为refs
的object
来更改我的 Firestore 结构,这将使我更容易遍历所有引用,因为我确定refs
字段下的所有内容都是DocumentRef
的。