Emberjs: cómo mostrar los mensajes de notificación y de carga en las operaciones del modelo

Estoy usando ember.js 1.2 y estoy enfrentando un problema al intentar mostrar mensajes de notificación y de notificación de carga durante las operaciones crudas en mis modelos.

Aquí está el código:

var MyModelController = Ember.ObjectController.extend({
  needs: ['application'],
  application: Ember.computed.alias("controllers.application"),
  actions: {
    save: function() {
      var _this = this;

      // Display the spinner
      this.get('application').get('loading').trigger(true);

      this.get('model').save().then(function(response) {
        // Hide the spinner
        _this.get('application').get('loading').trigger(false);

        // Display the success message
        _this.get('application').get('flash').success('The model has been updated.');
      }, function(response) {
        // Hide the loading spinner
        _this.get('application').get('loading').trigger(false);

        // Display the error message
        _this.get('application').get('flash').danger('Error updating the model.');
      });
    }
  }
});

Dos problemas principales aquí:

Primero: la rueda giratoria se muestra con una traducción que toma 0.5 s, pero la operación de guardado se realiza con menos duración y la rueda giratoria se muestra y desaparece inmediatamente. Aquí me gustaría configurar un temporizador de 1 segundo antes de que se llame a la operación de guardar en mi modelo para garantizar que la animación se realice correctamente. Como podría ser posible ?

Segundo: el método de éxito en mi objeto flash está vinculado a la {{view.message}} específica en la plantilla. Si llamo a este método fuera del "entonces" de la promesa, el mensaje se muestra bien, pero en mi caso no es como si el enlace no se hubiera realizado. ¿Me perdí algo en la forma de usar la promesa? ¿Cómo podría ser posible mostrar este mensaje?

Respuestas a la pregunta(3)

Su respuesta a la pregunta