private void OnTaskCompleted(Task completedTask) { lock (_task) { if (_calledCallback || _completedCallback == null) { return; } if (completedTask.Exception != null) { if (_onExceptionHandler != null) { _onExceptionHandler(completedTask.Exception); } else { LogTo.Warning(completedTask.Exception, "Exception caught"); } } try { _completedCallback.Invoke(completedTask.Exception); } catch { /* ignored */ } _calledCallback = true; } }
private void OnTaskCompleted(Task completedTask) { lock (_task) { if (_calledCallback || _completedCallback == null) { return; } _completedCallback.Invoke(completedTask.Exception); _calledCallback = true; } }
private void OnCancelled() { _cancelledCallback?.Invoke(); }