3
我擴展我的方法到async
,但我想有可能取消用戶請求和超時時間,但WriteLineAsync
不支持取消令牌的移交。我嘗試嵌套任務,但沒有奏效。有人可以支持我嗎?WriteLineAsync與取消
public async Task tapAsync(int x, int y, int timeouttime)
{
CancellationTokenSource cts;
cts = new CancellationTokenSource();
await Task.Run(async() =>
{
try
{
cts.CancelAfter(timeouttime);
await myWriter.WriteLineAsync("input tap " + x.ToString() + " " + y.ToString());
await myWriter.FlushAsync();
await Task.Delay(2000);
}
catch (OperationCanceledException)
{
Console.WriteLine("canceled");
}
}, cts.Token);
cts = null;
}
什麼是'myWriter'的類型? –
您的文本流將變爲垃圾。所以不妨將它和Close()混合起來,以使地板墊鬆開,並使異步寫入失敗。 –