javascript – 在React中从WatermelonDB获取数据

我使用WatermelonDB作为我的应用程序的本地数据库.

我在类AccessDB中有一个方法getPlaces():

static async getPlaces() {
        const postsCollection = database.collections.get('places');
        const allPosts = await postsCollection.query().fetch();
        return allPosts;
}

使用带异步和等待的AccessDB.getPlaces()调用getPlaces()可以正常工作.如何获取与查询匹配的结果?

最佳答案 变量allPosts是一个包含所有位置的数组.因此,要访问这些地方的属性,您可以在另一个类中进行:

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来放置[place] .name

2)如果你console.log(地方)你看到的就像你的console.log(数据库)一样,这是非常令人困惑的.您可能会看到[Object object],[Object object] …,您在使用alert(places)时会看到它.

点赞