Observador de modelo de objeto e assincronia

Os observadores são síncronos em Ember.js, que dispara imediatamente quando uma das propriedades de um observador é atualizada

Exemplo

O exemplo a seguir é disparado assim que uma das propriedades observadas muda -

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      fName: null,
      lName: null,
      
      //Defining the Details1 and Details2 computed property function
      Details1: Ember.computed('fName', 'lName',function() {
         return this.get('fName')+' '+this.get('lName');
      }),

      Details2: Ember.observer('Details1', function() {
         this.set('fName','Will');
         this.set('lName','Smith');
      })
   });

   //initializing the Person details
   var person = Person.create ({
     
      //initial value of fName and lName varialble
      fName: 'Mark',
      lName:'Waugh'
   });

   //updating the value for 'fName and lName' using set() method
   document.write('<strong>The updated name : </strong>' +person.get('Details1'));
}

Agora abra o arquivo app.js e adicione a seguinte linha no topo do arquivo -

import observerasynchrony from './observerasynchrony';

Onde, observerasynchrony é um nome do arquivo especificado como "observerasynchrony.js" e criado na pasta "app".

Em seguida, chame o "observerasynchrony" herdado na parte inferior, antes da exportação. Ele executa a função observerasynchrony, que é criada no arquivo observerasynchrony.js -

observerasynchrony();

Resultado

Execute o servidor ember e você receberá a seguinte saída -