constructor() {
    /**
     * A Promise which represents the underlying operation.  It is resolved when
     * the operation is complete, and rejected if the operation fails or is
     * aborted.  Aborted operations should be rejected with a shaka.util.Error
     * object using the error code OPERATION_ABORTED.
     *
     * @const {!Promise<T>}
     * @exportDoc
     */
    this.promise;
  }
A representation of an abortable operation.  Note that these are not
cancelable.  Cancellation implies undoing what has been done so far,
whereas aborting only means that further work is stopped.

@interface
@template T
@exportDoc