function run(encode, prerun, postrun) {
    return this._pulse ? reentrant(this) : (this.evaluate(encode, prerun, postrun), this);
  }
Requests dataflow evaluation and the immediately returns this dataflow
instance. If there are pending data loading or other asynchronous
operations, the dataflow will evaluate asynchronously after this method
has been invoked. To track when dataflow evaluation completes, use the
{@link runAsync} method instead. This method will raise an error if
invoked while the dataflow is already in the midst of evaluation.
@param {string} [encode] - The name of an encoding set to invoke during
  propagation. This value is added to generated Pulse instances;
  operators can then respond to (or ignore) this setting as appropriate.
  This parameter can be used in conjunction with the Encode transform in
  the vega-encode module.
@param {function} [prerun] - An optional callback function to invoke
  immediately before dataflow evaluation commences.
@param {function} [postrun] - An optional callback function to invoke
  after dataflow evaluation completes. The callback will be invoked
  after those registered via {@link runAfter}.
@return {Dataflow} - This dataflow instance.