Diferencia entre model.save () versus model.get ('store'). Commit ()

Cuál es la diferencia entre

// 'this' is the controller
this.get('model').save();

y

// 'this' is the controller
this.get('model').get('store').commit();

? De las pocas pruebas que hice, ambas me dieron los mismos resultados.¿Cuál debo usar?

Miré en el primero, y llama

DS.Model = Ember.Object.extend(
  ...
  save: function() {
    this.get('store').scheduleSave(this);

    var promise = new Ember.RSVP.Promise();

    this.one('didCommit', this, function() {
      promise.resolve(this);
    });

    return promise;
  }, 

Entonces la pregunta es, ¿cuál es la principal diferencia entrethis.get('store').scheduleSave(this) ythis.get('store').commit()?

DS.Store = Ember.Object.extend(DS._Mappable, {
  ...
  scheduleSave: function(record) {
    get(this, 'currentTransaction').add(record);
    once(this, 'flushSavedRecords');
  },
  ...
  /**
    This method delegates committing to the store's implicit
    transaction.

    Calling this method is essentially a request to persist
    any changes to records that were not explicitly added to
    a transaction.
  */
  commit: function() {
    get(this, 'defaultTransaction').commit();
  },

No estoy seguro de cuál es mejor. Me estoy inclinando hacia guardar () porque parece rodear la tienda.

(No pude encontrar estos códigos en github, no sé si el github o la versión de amazonws de emberjs es la última. Aquí están las versiones similares en github:Guardar modelo () que llamahorario de la tiendaGuardar ()ycompromiso de la tienda ())

Respuestas a la pregunta(1)

Su respuesta a la pregunta