跳到主要内容

runRxDBBackupWhenQueued()

function runRxDBBackupWhenQueued<T>(
queue,
task,
options
): Promise<T>;

Defined in: packages/rxdb/src/backup/backup-queue.ts:28

在 adapter 的串行队列里执行备份任务,排队本身有时限、可取消。

Type Parameters​

Type Parameter
T

Parameters​

ParameterTypeDescription
queueAsyncQueueExecutoradapter 的串行队列
task() => Promise<T>轮到时执行的任务
optionsRxDBBackupQueueOptions取消信号、排队时限与操作名

Returns​

Promise<T>

任务结果

Remarks​

只有「还在排队」这一段受超时与取消控制:任务一旦开始执行就交给它自己的取消逻辑(归档写入器 会在每次写之前检查信号),否则超时回调会在快照写到一半时把调用方放走,而任务仍占着数据库。 超时或取消后任务轮到时直接跳过,不会在没人等待的情况下再做一次快照。

Throws​

RxDBBackupError aborted 排队中被取消或被 clearQueue() 清出队列;lock_timeout 排队超时