code: def load(self, key=None):
          # type: (Hashable) -> Promise
          
          if key is None:
              raise TypeError(
                  (
                      "The loader.load() function must be called with a value,"
                      + "but got: {}."
                  ).format(key)
              )
  
          cache_key = self.get_cache_key(key)
  
          # If caching and there is a cache-hit, return cached Promise.
          if self.cache:
              cached_promise = self._promise_cache.get(cache_key)
              if cached_promise:
                  return cached_promise
  
          # Otherwise, produce a new Promise for this value.
  
          promise = Promise(partial(self.do_resolve_reject, key))  # type: ignore
  
          # If caching, cache this promise.
          if self.cache:
              self._promise_cache[cache_key] = promise
  
          return promise
docs: Loads a key, returning a `Promise` for the value represented by that key.