getter, setter, subscribe

by fillano

HTML

<div id='panel'>
</div>

JavaScript

let status = function() {
  var st1 = '';
  var st2 = '';
  var tid = null;
  var init = 0;
  return {
  	get st1() {
    	return st1;
    },
    set st1(v) {
      $('#panel').html($('#panel').html() + v + '<br>');
    	st1 = v;
      if(v === '1003') {
      	this.st2 = 'A';
        this.st1 = '1004';
      }
			if(v === "1004") {
      	init = new Date().getTime();
      }
    },
    get st2() {
      return st2;
    },
    set st2(v) {
    	st2 = v;
      if(v === 'B') {
	      if((new Date().getTime() - init) > 1000) {
        	console.log(init);
        	this.st1 = '1005';
        }
      }
      $('#panel').html($('#panel').html() + v + '<br>');
    }
  };
}();
status.st1 = '1003';
setTimeout(function() {status.st2 = 'B'}, 200);