code: function (since, callback) {
        if (opts.aborted) {
          return;
        }
        params.since = since;
        // "since" can be any kind of json object in Coudant/CouchDB 2.x
        /* istanbul ignore next */
        if (typeof params.since === "object") {
          params.since = JSON.stringify(params.since);
        }
  
        if (opts.descending) {
          if (limit) {
            params.limit = leftToFetch;
          }
        } else {
          params.limit = (!limit || leftToFetch > batchSize) ?
            batchSize : leftToFetch;
        }
  
        // Set the options for the ajax call
        var xhrOpts = {
          method: method,
          url: genDBUrl(host, '_changes' + paramsToStr(params)),
          timeout: opts.timeout,
          body: body
        };
        lastFetchedSeq = since;
  
        /* istanbul ignore if */
        if (opts.aborted) {
          return;
        }
  
        // Get the changes
        setup().then(function () {
          xhr = ajax(opts, xhrOpts, callback);
        }).catch(callback);
      }
docs: Get all the changes starting wtih the one immediately after the sequence number given by since.