diff --git a/Assets/TEngine/Runtime/GameFramework/Resource/AssetGroup.cs b/Assets/TEngine/Runtime/GameFramework/Resource/AssetGroup.cs index 3cc05bde..8f863ddc 100644 --- a/Assets/TEngine/Runtime/GameFramework/Resource/AssetGroup.cs +++ b/Assets/TEngine/Runtime/GameFramework/Resource/AssetGroup.cs @@ -383,7 +383,11 @@ namespace TEngine Reference(handle); - bool cancelOrFailed = await handle.ToUniTask().SuppressCancellationThrow(); + UniTask uniTask = handle.ToUniTask(); + + uniTask.AttachExternalCancellation(cancellationToken); + + bool cancelOrFailed = await uniTask.SuppressCancellationThrow(); if (cancelOrFailed) { diff --git a/Assets/TEngine/Runtime/GameFramework/Resource/LruAssetGroup.cs b/Assets/TEngine/Runtime/GameFramework/Resource/LruAssetGroup.cs index 0c552151..b4d223ca 100644 --- a/Assets/TEngine/Runtime/GameFramework/Resource/LruAssetGroup.cs +++ b/Assets/TEngine/Runtime/GameFramework/Resource/LruAssetGroup.cs @@ -300,7 +300,11 @@ namespace TEngine Reference(handle); - bool cancelOrFailed = await handle.ToUniTask().SuppressCancellationThrow(); + UniTask uniTask = handle.ToUniTask(); + + uniTask.AttachExternalCancellation(cancellationToken); + + bool cancelOrFailed = await uniTask.SuppressCancellationThrow(); if (cancelOrFailed) {