如何在等待中取消任務?我正在玩這些Windows 8 WinRT任務,我正在嘗試使用下面的方法取消任務,并且它在某種程度上起作用。CancelNotification方法被調用,這使您認為任務被取消,但在后臺任務繼續運行,然后在完成后,任務的狀態始終完成并且永遠不會被取消。有沒有辦法在取消任務時完全停止?private async void TryTask(){
CancellationTokenSource source = new CancellationTokenSource();
source.Token.Register(CancelNotification);
source.CancelAfter(TimeSpan.FromSeconds(1));
var task = Task<int>.Factory.StartNew(() => slowFunc(1, 2), source.Token);
await task;
if (task.IsCompleted)
{
MessageDialog md = new MessageDialog(task.Result.ToString());
await md.ShowAsync();
}
else
{
MessageDialog md = new MessageDialog("Uncompleted");
await md.ShowAsync();
}}private int slowFunc(int a, int b){
string someString = string.Empty;
for (int i = 0; i < 200000; i++)
{
someString += "a";
}
return a + b;}private void CancelNotification(){}
如何在等待中取消任務?
慕田峪7331174
2019-08-09 16:40:18