public async Task RequestAccount() { TokenTimerData d = new TokenTimerData(); TimerCallback timerCallback = new TimerCallback(TokenTimerCb); Timer timer = new Timer(timerCallback, d, 5000, 5000); d.timer = timer; d.waitHandle = new AutoResetEvent(false); await Task.Run(() => d.waitHandle.WaitOne()); }
public async void TokenTimerCb(object data) { TokenTimerData d = (TokenTimerData)data; tokenData = await authService.RequestToken(codeData.device_code); if (tokenData != null) { tokenData.issued_date = DateTime.Now; Preference.Set("access_token", tokenData.access_token); Preference.Set("refresh_token", tokenData.refresh_token); Preference.Set("issued_date", tokenData.issued_date.ToString("yyyy-MM-dd HH:mm:ss")); Preference.Set("expires", tokenData.expires_in); d.timer.Dispose(d.waitHandle); d.timer = null; } }