我正在使用 WatermelonDB 作为我的应用程序的本地数据库。
我在类 AccessDB 中有一个方法 getPlaces()
:
static async getPlaces() {
const postsCollection = database.collections.get('places');
const allPosts = await postsCollection.query().fetch();
return allPosts;
}
调用 getPlaces()
使用 AccessDB.getPlaces()
异步和等待工作。如何获取与查询匹配的结果?
最佳答案
变量 allPosts
是一个包含所有 places
的数组。因此,要访问地点的属性,您可以在不同的类中进行:
import AccessDB from './AccessDB';
然后在某处例如
(async () => {
try {
const places = await AccessDB.getPlaces();
var buffer = '';
for (place in places) {
buffer += places[place].name + '\n'
}
console.log(buffer)
} catch(e) {console.log(e)}
})()
使用 console.log 进行调试时必须小心,因为
1) 如果一个接一个快速执行,console.log 会跳过输出,例如如果您在上面的 for 循环中每次都 console.log places[place].name
和
2) 如果您使用console.log(places)
,您会看到与您使用console.log(database)
相同的内容,这非常令人困惑。您会期望看到 [Object object]、[Object object]...,这是您在使用 alert(places)
时看到的。
关于javascript - 在 React 中从 WatermelonDB 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853755/