我刚接触使用带有react-native的Realm数据库,而文档/ api通常会让事情看起来足够清楚(非常感谢btw),我在api中看不到当我尝试修改(创建,更新,删除)领域中的数据库表我可以添加一种方法来跟踪成功或失败并以实物形式回复。它是否存在,我只是没有看到它,或者除了添加回调作为参数之外,还有一种方法可以解决这个问题吗?
答案 0 :(得分:3)
Realm中的失败将导致抛出异常,因此您可以使用try / catch块来处理失败。 Realm.create
和Realm.delete
只应在代码中出现逻辑错误时抛出。如果在尝试将db写入磁盘时出现错误,则Realm.write
可能会抛出。
您可以轻松创建自己的包装器,以便传入成功/错误的回调,而不必为每次写入编写try / catch块:
function writeWithError(realm, writeCallback, errorCallback) {
try {
realm.write(writeCallback);
errorCallback(undefined);
}
catch(e) {
errorCallback(e);
}
}
该示例在成功时使用undefined
调用错误回调,如果抛出错误则调用错误。您也可以尝试使用Object.defineProperty
将其附加到Realm
对象,以便将其称为成员函数。