我有异步回调,这是传递到定时器(从的System.Threading)构造函数:通异步回调到Timer构造
private async Task HandleTimerCallback(object state)
{
if (timer == null) return;
if (asynTaskCallback != null)
{
await HandleAsyncTaskTimerCallback(state);
}
else
{
HandleSyncTimerCallback(state);
}
}
和定时器:
timer = new Timer(async o => await HandleTimerCallback(o), state, CommonConstants.InfiniteTimespan,
CommonConstants.InfiniteTimespan);
有什么办法省略那个o
param在lambda?原因不-异步我可以通过我的handler
为代表
timer = new Timer(HandleTimerCallback, state, CommonConstants.InfiniteTimespan,
CommonConstants.InfiniteTimespan);
这真的没有意义做定时器和异步/等待这一混合。如果你想在async/await世界中使用定时器行为,只需在循环体内的某处使用'await Task.Delay(someValue)'循环,并从循环体调用你的方法。 – spender