uninstallWorkingTreeCapture()
function uninstallWorkingTreeCapture(target): void;
Defined in: packages/rxdb/src/capture/capture-interceptor.ts:354
卸载捕获挂载点,把五个写原语恢复到安装前的样子
Parameters
| Parameter | Type | Description |
|---|---|---|
target | WorkingTreeCaptureMountTarget | 之前被 installWorkingTreeCapture 改写过的适配器实例 |
Returns
void
Remarks
还原的是「属性描述符」,不是一律装回绑定函数。 原语在正常适配器上来自原型,删掉自有属性
就恢复了——而且恢复的是 this 多态的那一份,事务内经门面调用仍然落在本事务里。装回
bind(target) 的版本会把那个多态永久焊死在真实适配器上:卸载之后的 executor.mergeChanges
会去排队等一个自己正占着的槽位。类字段形态的实现(测试替身)安装前就有自有属性,此时按
留存的描述符原样写回。
没装过就什么都不做,不接受一份「原语兜底」。 上一段说明了装回绑定函数正是要避免的那件事,
所以一旦描述符表查不到,唯一正确的动作是不动——此时目标本来就处于安装前的样子。早先的形态
多收一个 raw 参数,在查不到时把绑定函数焊上去,等于在唯一能触发它的路径上做恰好相反的事。