diff --git a/denops/@denops-private/service.ts b/denops/@denops-private/service.ts index 654d4f72..2a91ec0e 100644 --- a/denops/@denops-private/service.ts +++ b/denops/@denops-private/service.ts @@ -92,12 +92,16 @@ export class Service implements HostService, AsyncDisposable { } } - async waitLoaded(name: string): Promise { - if (this.#closed) { - throw new Error("Service closed"); + waitLoaded(name: string): Promise { + try { + if (this.#closed) { + throw new Error("Service closed"); + } + assertValidPluginName(name); + } catch (e) { + return Promise.reject(e); } - assertValidPluginName(name); - await this.#getWaiter(name).promise; + return this.#getWaiter(name).promise; } interrupt(reason?: unknown): void {