我想运行两个任务。
StartAccessTokenTimer()每 60 秒运行一次并刷新 accesstoken 变量。 如果获得访问令牌,StartItemsTimer()将在之后开始StartAccessTokenTimer()并每 3 秒工作一次。
private accessToken = "";
private async Task StartAccessTokenTimer()
{
CancellationTokenSource source = new CancellationTokenSource();
while (true)
{
accesstoken = await GetAccessToken();
await Task.Delay(TimeSpan.FromSeconds(3), source.Token);
}
}
private async Task StartItemsTimer()
{
CancellationTokenSource source = new CancellationTokenSource();
while (true)
{
var items = await GetItems(accessToken, "1");
await Task.Delay(TimeSpan.FromSeconds(60), source.Token);
}
}
public async Task StartOperations(){
await StartAccessTokenTimer();
await StartItemsTimer();
}
但它不会触发GetItems()方法。因为StartAccessTokenTimer()永不启动..它不断地开火 GetAccessToken()。
相关分类