领域 xamarin 中的成功和失败回调
success and failure callbacks in realm xamarin
我正在寻找与 realm
中使用 xamarin
添加和读取数据相关的回调。
我在这里从服务器获取数据并添加到领域,但我想要一个事件,我可以通知 UI company
数据已成功添加到领域,如果出现任何错误我也可以展示一下。
var content = await response.Content.ReadAsStringAsync();
Company company = JsonConvert.DeserializeObject<Company>(content);
Realm realm = Realm.GetInstance();
await realm.WriteAsync(tempRealm => {
tempRealm.Add(company);
});
在 android 本机中,我们有以下功能可以在后台执行任何事务,并可以通知成功和失败。
final Realm realm = Realm.getInstance(App.getRealmConfig());
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(userResponseInfo.getCallInfoList());
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
}
});
Realm Xamarin 使用标准的 .NET 机制从任务传播错误,这就是您不需要成功和错误回调的原因。如果发生错误,将抛出一个可以在常规 try-catch 块中处理的异常:
try
{
var realm = Realm.GetInstance();
await realm.WriteAsync(temp => temp.Add(company));
// if control reaches this line the transaction executed successfully.
notifier.NotifySuccess();
}
catch (Exception ex)
{
// The transaction failed - handle the exception
notifier.NotifyError(ex.Message);
}
我正在寻找与 realm
中使用 xamarin
添加和读取数据相关的回调。
我在这里从服务器获取数据并添加到领域,但我想要一个事件,我可以通知 UI company
数据已成功添加到领域,如果出现任何错误我也可以展示一下。
var content = await response.Content.ReadAsStringAsync();
Company company = JsonConvert.DeserializeObject<Company>(content);
Realm realm = Realm.GetInstance();
await realm.WriteAsync(tempRealm => {
tempRealm.Add(company);
});
在 android 本机中,我们有以下功能可以在后台执行任何事务,并可以通知成功和失败。
final Realm realm = Realm.getInstance(App.getRealmConfig());
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(userResponseInfo.getCallInfoList());
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
}
});
Realm Xamarin 使用标准的 .NET 机制从任务传播错误,这就是您不需要成功和错误回调的原因。如果发生错误,将抛出一个可以在常规 try-catch 块中处理的异常:
try
{
var realm = Realm.GetInstance();
await realm.WriteAsync(temp => temp.Add(company));
// if control reaches this line the transaction executed successfully.
notifier.NotifySuccess();
}
catch (Exception ex)
{
// The transaction failed - handle the exception
notifier.NotifyError(ex.Message);
}