同步失败回调 开启新事务处理
This commit is contained in:
parent
1ef5b369ef
commit
d0bff1f9b0
|
|
@ -50,6 +50,10 @@ class Synchronizer {
|
|||
}
|
||||
catch (err) {
|
||||
if (onFailed) {
|
||||
context.on('rollback', async () => {
|
||||
const context2 = this.contextBuilder();
|
||||
context2.begin();
|
||||
try {
|
||||
await onFailed({
|
||||
remoteEntity: entity,
|
||||
remoteEntityId: entityId,
|
||||
|
|
@ -60,7 +64,13 @@ class Synchronizer {
|
|||
data: ele.oper.data,
|
||||
})),
|
||||
reason: err,
|
||||
}, context);
|
||||
}, context2);
|
||||
context2.commit();
|
||||
}
|
||||
catch (err) {
|
||||
context2.rollback();
|
||||
}
|
||||
});
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,6 +92,10 @@ export default class Synchronizer<ED extends EntityDict & BaseEntityDict, Cxt ex
|
|||
}
|
||||
catch (err: any) {
|
||||
if (onFailed) {
|
||||
context.on('rollback', async () => {
|
||||
const context2 = this.contextBuilder();
|
||||
context2.begin();
|
||||
try {
|
||||
await onFailed({
|
||||
remoteEntity: entity!,
|
||||
remoteEntityId: entityId!,
|
||||
|
|
@ -104,7 +108,13 @@ export default class Synchronizer<ED extends EntityDict & BaseEntityDict, Cxt ex
|
|||
})
|
||||
),
|
||||
reason: err,
|
||||
}, context);
|
||||
}, context2);
|
||||
context2.commit();
|
||||
}
|
||||
catch (err) {
|
||||
context2.rollback();
|
||||
}
|
||||
});
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue