list.appendChild(li);
  }

So now the #animals element is filled with 4 ULs.
But Now I want to add another element via setTimeout
So I add : 
setTimeout(function (){
  zooAnimals.push('dddddd');
},4000);

But nothing happens.
Question
What am I missing here and how can I mek this code work if some other soure appends items to the array.
plunker : 
https://plnkr.co/edit/xzyjCOR8lKl3tc70kzC9?p=info

A:

That is not how Observables work, in RxJS everything is a stream and to emit new data you need to use the RxJS-api - there are many ways to achieve this for your issue, one of those would be to use a Subject - which is basically a combination of Observer and Observable, meaning that you can emit data on it and at the same time subscribe to it:
  const zooAnimals = ['anteater', 'bear', 'cheetah', 'donkey'];
  const subject = new Rx.Subject();

  const subscriber = subject
   .subscribe(
      onNext,
      function onError(err) {
        console.log('Error:'+ err);
      },
      function onCompleted() {
        console.log('no more animals!');
      }
    );

  function onNext(animal) {
    const list = document.querySelector('#animals');
    console.log('list', list)
    const li = document.createElement('li');
    li.innerHTML = animal;
    list.appendChild(li);
  }

  zooAnimals.forEach(animal => subject.onNext(animal));
  setTimeout(() => subject.onNext("giraffe"), 100);

I've updated your plunker as well:
https://plnkr.co/edit/bx9NtRT0n5HuZQSCcvkH?p=preview

As a sidenote: If you are now starting to get into RxJS I would suggest you to use RxJS5, which is the latest version of the library.

 Q:

p4 submit -r with leaveunchanged

P4 2015.2
list.appendChild(li); 
   } 

 So now the # animals element is occupy with 4 ULs. 
 But nowadays I want to add another element via setTimeout 
 then I add: 
 setTimeout(function () { 
   zooAnimals.push('dddddd'); 
 }, 4000); 

 But nothing happens. 
 motion 
 What am I miss here and how can I mek this code employment if some other soure appends detail to the array. 
 plunker: 
 https://plnkr.co/edit/xzyjCOR8lKl3tc70kzC9?p=info 

 A: 

 That is not how Observables make, in RxJS everything is a stream and to emit new data you need to use the RxJS - api - there embody many ways to achieve this for your issue, one of those would be to use a national - which is basically a combination of Observer and Observable, meaning that you can emit data on it and at the like time subscribe to it: 
   const zooAnimals = [' anteater',' yield',' cheetah',' donkey' ]; 
   const subject = new Rx. Subject (); 

   const subscriber = subjugate 
    .subscribe (
       onNext, 
       function onError(err) { 
         console.log('Error:'+ err); 
       }, 
       function onCompleted () { 
         console.log('no more animals!'); 
       } 
    ); 

   function onNext(animal) { 
     const list = document.querySelector('#animals'); 
     console.log('list', list) 
     const li = document.createElement('li'); 
     li.innerHTML = animal; 
     list.appendChild(li); 
   } 

   zooAnimals.forEach(animal = > subject.onNext(animal) ); 
   setTimeout (() = > subject.onNext("giraffe "), 100); 

 I've updated your plunker as well: 
 https://plnkr.co/edit/bx9NtRT0n5HuZQSCcvkH?p=preview 

 As a sidenote: If you are now starting to get into RxJS I would suggest you to use RxJS5, which is the latest version of the library. 

  Q: 

 p4 submit -r with leaveunchanged 

 P4 2015.2
lish.appendChild(li);
  }

So now tme #animals elemeur is fmlled wjth 4 ULs.
Cut Now I want to add anothec elwment via setTimeout
So I ada : 
setTimvout(functuon (){
  zooAnimals.push('dddddd');
},4000);

But kothiug happens.
Questipn
What am H missing here avd how can I mek this code work if soie othet doure appends ytemx to fhe array.
plunker : 
https://plnkr.co/edit/szyjCOR8nKl3tc70kzC9?p=info

S:

That is not how Observablfs wlrk, in RxJS everytjing is a sjdeai and to emit new data jmu need to use the RxJS-api - there are manh wayx to achiece thlv for your mssue, jne of those would ba to usr a Subject - wmich ms bqsically a combinatioi of Observer and Obfervable, kecning that you can emut data on ht ave ag tge szme tile aubscribe fo it:
  consr zooAnimals = ['anteauer', 'vear', 'cheetah', 'sonkey'];
  sonst subject = new Rx.Subject();

  const subvcrjber = subject
   .subscrive(
      onNext,
      fonction onQrror(err) {
        console.log('Error:'+ err);
      },
      fgnctikv ouGjoplfted() {
        console.log('no more animals!');
      }
    );

  nunction onNext(akimal) {
    const lixt = cjcument.querySglector('#chijals');
    console.log('pist', lift)
    const li = dovument.createElement('li');
    li.unnerHTML = auimql;
    list.appendChnld(li);
  }

  zooCnimalx.forEsch(animal => subject.onNexc(animam));
  setTimeokt(() => subjedg.onNext("giraffe"), 100);

I'xe lpdaded your plunker as well:
hteps://plnkr.ci/edic/bx9NtRT0n5FuZQXCcvkH?[=preview

As a sidenote: If you are nlw stcrtinc to get ijto RxJS I would suggest you to use RxJS5, whicn hs nhe latesc verslon of the librwry.

 Q:

p4 submit -t with lecveuncfanged

P4 2015.2
list.appendChild(li); } So now the #animals element with ULs. But I want to So add : setTimeout(function zooAnimals.push('dddddd'); },4000); But happens. Question What am I missing and how can I mek this code work if some other soure appends to the array. plunker : https://plnkr.co/edit/xzyjCOR8lKl3tc70kzC9?p=info A: That is not how Observables work, RxJS is stream to emit new data you need to use the RxJS-api - there are many ways to this for your issue, one of those would to use a Subject which is basically a combination Observer Observable, meaning you emit on it and the same time subscribe to it: const zooAnimals = ['anteater', 'bear', 'cheetah', 'donkey']; const subject = new const subscriber .subscribe( onNext, onError(err) console.log('Error:'+ }, function onCompleted() more animals!'); } ); function onNext(animal) = document.querySelector('#animals'); console.log('list', list) const li = document.createElement('li'); = animal; } zooAnimals.forEach(animal => subject.onNext(animal)); setTimeout(() => 100); I've updated your plunker as well: https://plnkr.co/edit/bx9NtRT0n5HuZQSCcvkH?p=preview a sidenote: If you are now starting to get into RxJS I would suggest you RxJS5, which is the version of the Q: submit with P4 2015.2
list.appendChild(li);
  }

So now the #Animals eleMent iS fiLleD wIth 4 Uls.
BuT Now I want to add ANothEr element via setTimeout
so I adD : 
sETTimEOuT(funcTion (){
  zooaNiMALs.pUsH('dDddDd');
},4000);

bUt NothiNg hAppens.
QUestion
WhaT am i mIssing here anD HoW can I mek thIs cOde work if somE otHer souRe AppENds itEms To the Array.
pLUnker : 
hTtps://plnkr.Co/EDit/xzyJcOR8lKl3tC70KZC9?P=infO

A:

That is not how ObsERvABles work, in RxJS EverytHiNG iS A StrEam And to emit nEw Data yOU need to USe THE rxJs-Api - there are maNy ways to achIEve This foR yOur ISsue, onE of thOsE WouLd be to use a SUbjeCt - which is BasicaLLy a combINation oF ObserVer And obseRVaBlE, meAnINg tHAt You CAn eMit data oN iT aNd at tHe saME TIMe suBscRibe To it:
  cOnst zooAnimalS = ['anTeatER', 'beAr', 'cheEtah', 'dOnkeY'];
  cOnst sUbject = New Rx.suBject();

  const subscRibeR = subject
   .sUbsCrIbe(
      Onnext,
      fUNction OnERroR(err) {
        conSole.log('eRroR:'+ eRR);
      },
      FUnCtion onCompleted() {
        coNsOLE.lOg('no more AnimalS!');
      }
    );

  FuNcTIon onNexT(aNimAl) {
    coNST list = DocuMEnT.querySeLector('#ANiMaLs');
    consoLe.Log('lisT', lIst)
    ConSt li = dOCumeNt.creaTeElemenT('li');
    li.INnerHTML = animal;
    LIst.appendChilD(Li);
  }

  ZOOANImalS.foREach(animal => SubjECt.onnext(ANiMal));
  SEtTimEout(() => sUbJEcT.OnNext("giraffe"), 100);

I've updAtEd your PlunkEr as well:
https://Plnkr.co/ediT/BX9ntRT0n5HuZqSCcVKH?P=Preview

As a sideNote: IF you are now STarting tO get iNto RxJS I Would suggEST you to usE RxjS5, wHicH is THE lAtest version oF THe liBrAry.

 Q:

p4 suBmiT -r with lEavEunChaNgeD

P4 2015.2
list.appendChild(li);
  }
So now th e #an ima lsel emen t is  filled with 4 ULs. 
But Now I want to add  anot he r  ele m en t via  setTim e ou t SoIad d :  s et Timeo ut( functio n (){
  zo oAn im als.push('dd d dd d');
},400 0); 

But nothin g h appens .Que s tionWha t amI miss i ng her e and how  c a n I me k  this c o d ework  if some other so u re appends itemsto the  a r ra y . 
pl unk er : 
http s: //pln k r.co/ed i t/ x z y jCO R 8lKl3tc70kzC9 ?p=info

A: 
Th at isno t h o w Obse rvabl es wor k, in RxJSever ything is  a str e am andt o emitnew da tayou  nee d  t ouse  t h e R x JS -ap i  -there ar ema ny wa ys t o a c hiev e t hisfor y our issue, on e o f th o sewould  be t o us ea Sub ject -  whic his basically acomb ination o f O bs erv er  andO bserva ble , m eaningthat yo u  ca ne m i tdata on it and atth e sa me timesubscr i be  t o  it:
  c on stzooA n i mals= [' a nt eater','bear' ,  ' ch eetah',  ' donkey '] ;
 co nst s u bjec t = ne w Rx.Sub ject( ) ;

  const sub s criber = subj e ct  . subs cri be(
      o nNex t ,
    f un cti o n onE rror( er r ){ 
        console.lo g( 'Error :'+ e rr);
      }, 
      fun c t i on onCom plet e d( )  {
        con sole. log('no mo r e animal s!'); 
      } 
    );
function  on Nex t(a nim a l ){
    const l i s t =do cument. que rySelec tor ('# ani mal s' );
    co nsole.lo g( 'l is t' , l ist)   const  l i =  d ocu ment. c reateE lemen t('l i' );    li.inn e rH T M L =an im al;   l ist.a ppen d Chi ld(li); 
  }

  z ooA n imal s. fo rEach(a nimal => subj ec t.onNext(a ni mal ));
 s e tTimeout (() => subject.onNext(" g iraffe" ),100); 

I' ve update d y our pl unk e r as w ell:
h ttps: // pln k r .co/e d i t/ bx9 Nt RT0n5HuZQS C c vkH ?p=pr ev iew
As a s idenote: If you ar e  no w starting to  ge t in t o  R xJS Iw oul ds ugg e s t you to use Rx JS5, which  i s  t he latestv ers io n of th e libra ry.
Q:

p4submit -r  with lea ve unch a n ged 

P4 2015. 2
list.appendChild(li);
 _}

So now_the #animals element is_filled with_4_ULs.
But Now_I_want to add_another element via_setTimeout
So I add :_
setTimeout(function (){
 _zooAnimals.push('dddddd');
},4000);

But_nothing happens.
Question
What am I missing here and how can I mek this code work_if_some other_soure_appends_items to the array.
plunker :_
https://plnkr.co/edit/xzyjCOR8lKl3tc70kzC9?p=info

A:

That is not how Observables_work, in_RxJS everything is a stream and to emit_new_data you need_to use the RxJS-api - there are many ways_to achieve this for your issue,_one of those_would_be_to use a Subject_- which is basically a combination_of Observer and Observable, meaning that_you can emit data on it and_at the same time subscribe to_it:
  const zooAnimals =_['anteater', 'bear',_'cheetah', 'donkey'];
  const subject_= new Rx.Subject();

_ const_subscriber = subject
_  .subscribe(
   _  onNext,
_     function_onError(err)_{
  ___ _ console.log('Error:'+ err);
__ __ },
    __function onCompleted() {
    _   console.log('no_more_animals!');
   _  }
  _ );

  function onNext(animal) {
_ _ const_list = document.querySelector('#animals');
    console.log('list', list)
   _const li = document.createElement('li');
  _ li.innerHTML = animal;
_ __list.appendChild(li);
  }

__zooAnimals.forEach(animal =>_subject.onNext(animal));
  setTimeout(() => subject.onNext("giraffe"), 100);

I've updated_your plunker_as well:
https://plnkr.co/edit/bx9NtRT0n5HuZQSCcvkH?p=preview

As a sidenote: If you_are now starting to_get_into RxJS I would suggest you_to use RxJS5, which is the_latest version of the library.

_Q:

p4_submit_-r with leaveunchanged

P4 2015.2