update at 2025-10-08 19:45:28
This commit is contained in:
28
src/utils.ts
28
src/utils.ts
@@ -225,10 +225,26 @@ export function cleanUrl(href: string) {
|
||||
}
|
||||
|
||||
export async function waitForLayoutReady(app: App): Promise<void> {
|
||||
if (app.workspace.layoutReady) {
|
||||
return;
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
app.workspace.onLayoutReady(() => resolve());
|
||||
});
|
||||
if (app.workspace.layoutReady) {
|
||||
console.log('[waitForLayoutReady] already ready');
|
||||
return;
|
||||
}
|
||||
console.log('[waitForLayoutReady] waiting...');
|
||||
return new Promise((resolve) => {
|
||||
let resolved = false;
|
||||
const timer = setTimeout(() => {
|
||||
if (!resolved) {
|
||||
console.warn('[waitForLayoutReady] timeout fallback (5s)');
|
||||
resolved = true; resolve();
|
||||
}
|
||||
}, 5000);
|
||||
app.workspace.onLayoutReady(() => {
|
||||
if (!resolved) {
|
||||
resolved = true;
|
||||
clearTimeout(timer);
|
||||
console.log('[waitForLayoutReady] event fired');
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user