mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-01 01:29:31 +08:00
feat(nbstore): new doc sync engine (#8918)
This commit is contained in:
@@ -104,6 +104,25 @@ export abstract class Connection<T = any> {
|
||||
});
|
||||
}
|
||||
|
||||
waitForConnected(signal?: AbortSignal) {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
if (this.status === 'connected') {
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
this.onStatusChanged(status => {
|
||||
if (status === 'connected') {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
|
||||
signal?.addEventListener('abort', reason => {
|
||||
reject(reason);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
onStatusChanged(
|
||||
cb: (status: ConnectionStatus, error?: Error) => void
|
||||
): () => void {
|
||||
|
||||
Reference in New Issue
Block a user