diff --git a/src/BootstrapBlazor/Services/ThrottleDispatcher.cs b/src/BootstrapBlazor/Services/ThrottleDispatcher.cs index 90ee9385812..c7680326f7f 100644 --- a/src/BootstrapBlazor/Services/ThrottleDispatcher.cs +++ b/src/BootstrapBlazor/Services/ThrottleDispatcher.cs @@ -23,7 +23,7 @@ public class ThrottleDispatcher(ThrottleOptions options) /// /// 异步回调方法 /// 取消令牌 - public Task ThrottleAsync(Func function, CancellationToken cancellationToken = default) => InternalThrottleAsync(() => Task.Run(function), cancellationToken); + public Task ThrottleAsync(Func function, CancellationToken cancellationToken = default) => InternalThrottleAsync(function, cancellationToken); /// /// 同步限流方法 @@ -32,19 +32,12 @@ public class ThrottleDispatcher(ThrottleOptions options) /// 取消令牌 public void Throttle(Action action, CancellationToken token = default) { - var task = InternalThrottleAsync(() => Task.Run(() => + var task = InternalThrottleAsync(() => { action(); return Task.CompletedTask; - }, CancellationToken.None), token); - try - { - task.Wait(token); - } - catch (Exception) - { - throw; - } + }, token); + task.Wait(token); return; } diff --git a/test/UnitTest/Services/ThrottleTest.cs b/test/UnitTest/Services/ThrottleTest.cs index 2cead4b4614..de9f5fe0aab 100644 --- a/test/UnitTest/Services/ThrottleTest.cs +++ b/test/UnitTest/Services/ThrottleTest.cs @@ -98,30 +98,6 @@ await dispatcher.ThrottleAsync(() => Assert.Equal(2, count); } - [Fact] - public async Task Cancel_Ok() - { - var factory = Context.Services.GetRequiredService(); - var dispatcher = factory.GetOrCreate("Cancel"); - - var cts = new CancellationTokenSource(); - var ex = await Assert.ThrowsAsync(() => - { - dispatcher.Throttle(() => - { - cts.Cancel(); - }, cts.Token); - return Task.CompletedTask; - }); - Assert.NotNull(ex); - - cts = new CancellationTokenSource(100); - await dispatcher.ThrottleAsync(async () => - { - await Task.Delay(300); - }, cts.Token); - } - [Fact] public void Clear() {