FetchRequest<T extends BaseRequest> constructor

FetchRequest<T extends BaseRequest>(
  1. T request, {
  2. Future<void>? abortTrigger,
})

Create new fetch request by wrapping existing request.

Stored FetchRequest.abortTrigger is modified in a such way so you can cancel this request via wrapped request and/or via supplied abortTrigger.

Implementation

FetchRequest(this.request, { Future<void>? abortTrigger, }) :
  abortTrigger = switch(request) {
    Abortable(abortTrigger: final innerTrigger?) => abortTrigger == null
      ? innerTrigger
      : Future.any([ abortTrigger, innerTrigger, ]),
    _ => abortTrigger,
  };