我有下面的代码等待300毫秒,然后验证条件,即isMatch为真。
await Task.Delay(TimeSpan.FromMilliseconds(300));
if (isMatch)
{
//do something
isMatch = false;
}
else{
}
如果在300毫秒时间结束之前isMatch变量值为True,我怎么能避免这个300毫秒的常量等待,换句话说,我的代码应该根据先发生的任何事件执行,即isMatch值为true或300 ms结束了。
App有一个定时器,每100 ms运行一次,负责将isMatch的值设置为True。
答案 0 :(得分:3)
您通过将Task.Delay
传递给CancellationToken
来取消isMatch
。
因此,只要您的代码将true
设置为CancellationTokenSource.Cancel
,也请将其调用SELECT t.INS_RQMT_PRODCT_NO, t.NEW_DEPT_NO
FROM SUBMISSION_OBJECT.SEGMENTATION_REF t
WHERE t.INS_RQMT_PRODUCT_NO IN ('6228506')
。