check method

Future<RespData<VT?>> check({
  1. required Parameter data,
  2. required BaseMethod method,
  3. required String url,
  4. required String reqMethod,
  5. required bool slient,
  6. required dynamic encodeDataFunction(
    1. RespData resp
    ),
})

Implementation

Future<RespData<VT?>> check({
  required Parameter data,
  required BaseMethod method,
  required String url,
  required String reqMethod,
  required bool slient,
  required Function(RespData resp) encodeDataFunction,
}) async {
  var key = getKey(data);
  RespData<VT?>? result = getData(key);
  log.info("HttpBuffer@check url $url, result: $result, key: $key", null);
  if (result == null) {
    Completer<RespData<VT?>>? a = waitlist[key];
    if (a == null) {
      a = Completer<RespData<VT?>>();
      proxyData(
        data: data,
        method: method,
        url: url,
        reqMethod: reqMethod,
        key: key,
        slient: slient,
        encodeDataFunction: encodeDataFunction,
      );
      waitlist[key] = a;
    } else {
      log.debug("return completer for $key", null);
    }
    return a.future;
  }
  return result;
}