public static Action <Response <T> > FromResponse <T>(this UnityTask <T> task) { return((response) => { task.Metadata = response.Metadata; if (response.IsFaulted) { task.Complete(response.Exception); } else { task.Complete(response.Result); } }); }
public static Action <Response <string> > FromJsonResponse <T>(this UnityTask <T> task) { return((response) => { task.Metadata = response.Metadata; if (response.IsFaulted) { task.Complete(response.Exception); } else { task.Complete(JsonSerializer.Deserialize <T>(response.Result)); } }); }
public static Action <Response> FromResponse(this UnityTask task) { return((response) => { task.Metadata = response.Metadata; task.Complete(response.Exception); }); }
static IEnumerator TimeOutAsync(UnityTask task, int seconds, Action <UnityTask> onTimeout = null) { yield return(new WaitForSeconds(seconds)); if (task.IsRunning) { if (onTimeout != null) { onTimeout(task); } task.Complete(new Exception("Timeout")); } }