跳到主要内容

getCurrentBranch()

function getCurrentBranch(rxdb): Promise<RxDBBranch>;

Defined in: packages/rxdb/src/system/system-repositories.ts:120

取当前分支;没有激活分支时激活(或新建)main。

Parameters​

ParameterTypeDescription
rxdbRxDBRxDB 实例

Returns​

Promise<RxDBBranch>

Remarks​

分两段是有意的:

  • 热路径(已有激活分支)不开事务。同步链路里每条远端事件都要调它,把整段包进事务 能修好并发,但会让每次读都去抢并发度 1 的写队列槽位。
  • 冷路径(查不到激活分支)才开事务,并在事务内重做一遍检查(双重检查)。 否则两个并发调用会双双走到 create,第二个撞主键报错。