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()
{