AsyncInvocationHandler.cs 595 B

12345678910111213141516171819202122232425262728
  1. using System;
  2. namespace Blue
  3. {
  4. public class AsyncInvocationHandler<T>:IAsyncInvocationHandler<T>
  5. {
  6. private Action _onFailed;
  7. private Action<T> _onSucceed;
  8. //call back for process success
  9. public void OnSucceed(Action<T> onSucceed)
  10. {
  11. _onSucceed = onSucceed;
  12. }
  13. //call back for process failed
  14. public void OnFailed(Action onFailed)
  15. {
  16. _onFailed = onFailed;
  17. }
  18. void IAsyncInvocationHandler<T>.TriggerFailed()
  19. {
  20. _onFailed?.Invoke();
  21. }
  22. void IAsyncInvocationHandler<T>.TriggerSucceed(T result)
  23. {
  24. _onSucceed?.Invoke(result);
  25. }
  26. }
  27. }