code: function asyncBatch (
    renderer,
    pushable,
    resolve,
    reject
  ) {
    const pull = pullBatch(renderer, pushable);
  
    pull.then(result => {
      if (result === EXHAUSTED) {
        resolve();
      } else {
        setImmediate(
          asyncBatch,
          renderer,
          pushable,
          resolve,
          reject,
        );
      }
    }).catch(err => {
      reject(err);
    });
  }
docs: eslint-disable-next-line max-params