From e4fb11a1e759042aebcbd10376e62227f53ea5fc Mon Sep 17 00:00:00 2001 From: AkatQuas <295140755@qq.com> Date: Tue, 7 Sep 2021 16:28:21 +0800 Subject: [PATCH] fix: early return on cancellation --- extensions/css-language-features/server/src/utils/runner.ts | 1 + extensions/html-language-features/server/src/utils/runner.ts | 1 + extensions/json-language-features/server/src/utils/runner.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/extensions/css-language-features/server/src/utils/runner.ts b/extensions/css-language-features/server/src/utils/runner.ts index c01d5e0ec02..47c587537aa 100644 --- a/extensions/css-language-features/server/src/utils/runner.ts +++ b/extensions/css-language-features/server/src/utils/runner.ts @@ -23,6 +23,7 @@ export function runSafeAsync(runtime: RuntimeEnvironment, func: () => Thenabl runtime.timer.setImmediate(() => { if (token.isCancellationRequested) { resolve(cancelValue()); + return; } return func().then(result => { if (token.isCancellationRequested) { diff --git a/extensions/html-language-features/server/src/utils/runner.ts b/extensions/html-language-features/server/src/utils/runner.ts index b1f86f6ef13..69e5c05e61f 100644 --- a/extensions/html-language-features/server/src/utils/runner.ts +++ b/extensions/html-language-features/server/src/utils/runner.ts @@ -23,6 +23,7 @@ export function runSafe(runtime: RuntimeEnvironment, func: () => Thenable, runtime.timer.setImmediate(() => { if (token.isCancellationRequested) { resolve(cancelValue()); + return; } return func().then(result => { if (token.isCancellationRequested) { diff --git a/extensions/json-language-features/server/src/utils/runner.ts b/extensions/json-language-features/server/src/utils/runner.ts index 0ad24dd02dc..2d3cfaef51a 100644 --- a/extensions/json-language-features/server/src/utils/runner.ts +++ b/extensions/json-language-features/server/src/utils/runner.ts @@ -23,6 +23,7 @@ export function runSafeAsync(runtime: RuntimeEnvironment, func: () => Thenabl runtime.timer.setImmediate(() => { if (token.isCancellationRequested) { resolve(cancelValue()); + return; } return func().then(result => { if (token.isCancellationRequested) {