getCurrentBranch()
function getCurrentBranch(rxdb): Promise<RxDBBranch>;
Defined in: packages/rxdb/src/system/system-repositories.ts:120
取当前分支;没有激活分支时激活(或新建)main。
Parameters
| Parameter | Type | Description |
|---|---|---|
rxdb | RxDB | RxDB 实例 |
Returns
Promise<RxDBBranch>
Remarks
分两段是有意的:
- 热路径(已有激活分支)不开事务。同步链路里每条远端事件都要调它,把整段包进事务 能修好并发,但会让每次读都去抢并发度 1 的写队列槽位。
- 冷路径(查不到激活分支)才开事务,并在事务内重做一遍检查(双重检查)。
否则两个并发调用会双双走到
create,第二个撞主键报错。