code: function addPendingFetch(url) {
      let resolve = null;
      let reject = null;
      let promise = new Promise((innerResolve, innerReject) => {
        resolve = innerResolve;
        reject = innerReject;
      });
      pendingFetches[url] = { promise, resolve, reject };
    }
docs: Create a pending fetch promise and keep controls over that promise so that
  the code may resolve or reject it through calls to resolvePendingFetch and
  rejectPendingFetch functions