2017-05-19 6 views
-1

Ich habe ein Verhalten (zumindest für mich) mit Promise mit Javascript auf dem Client.Kein Array in Promise verfügbar

hatte ich ein Stück Code, der so etwas wie das war, wo h ein Objekt ist:

const getSomething = (h) => { 
    return new Promise(
     (resolve, reject) => { 
      //using h (accessing element) 
      .... 

Nun sollte die Funktion ein Array von Objekt akzeptieren, aber wenn ich das Array innerhalb der Versprechen ist undefined:

const getSomething = (hs) => { 
    return new Promise(
     (resolve, reject) => { 
      const a = hs[0] //hs undefined 

ich habe auch so etwas wie dies versucht:

const getSomething = (hs) => { 
    const _hs = []; 
    _.each(hs, (h) => { h.push(getH(h._id)); }); //where getH return the same object contained in array 
    return new Promise(
     (resolve, reject) => { 
      const a = _hs[0] //_hs undefined 

Ich denke, das könnte etwas mit der Erinnerung zu tun haben, aber ich habe keine Ahnung warum und was ich falsch mache. Irgendeine Idee?

+1

hs wird nie undefiniert sein, es sei denn, Sie rufen 'getSomething (undefined)' – aaaaaa

+0

Haben Sie versucht, nur 'console.log (hs)' vor dem Versprechen? Modifizierst du 'hs 'bevor das Promise ausgeführt wird? Denken Sie daran, es ist asynchron, so dass es nicht läuft, bis der Rest Ihres laufenden Codes zu einem Ende gekommen ist. –

+0

hs es ist definiert und ich kann darin in Debug sehen, aber nicht in Promise – perusopersonale

Antwort

0

Sorry meine schlechte :) ein paar Zeilen, nachdem ich eine Variable namens HS deklariert.

+1

Whoops! Nun, zumindest hast du es herausgefunden! –

+0

Yeah definitiv keine Sorgen - passiert mit jedem – aaaaaa

Verwandte Themen