4

如何停止 RunAsync?

CancellatioTokenSource cts = new CancellationTokenSource();
//I thought that it's must work, but it don't
var script = CSharpScript.Create(code: someCode);
await script.RunAsync(cancelletionToken: cts.Token);

void button_click()
{
   cts.Cancel()
}

我还能怎么做。为什么这样的方法需要cancellationToken参数?

4

1 回答 1

3

您必须在await调用之前执行此操作,这会阻止执行,直到您获得结果,例如:

var task = script.RunAsync(cancelletionToken: cts.Token);

cts.Cancel();

var result = await task;
于 2016-12-19T13:24:02.707 回答