2017-05-19 14 views
-1

クライアントでJavascriptを使用してPromiseを使用しています。配列内にPromiseがありません

私は時間がオブジェクトである。このようなものだったコードの一部だった:

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

今、関数はオブジェクトの配列を受け入れる必要がありますが、私は約束の内部で配列を使用する場合undefinedです:

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 

:私もこのような何かを試してみました

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

私はこれが何らかの記憶に関連するかもしれないと思うが、なぜ私が間違っているのか分からない。

+1

'getSomething(undefined) 'を呼び出さない限り、hsは決して定義されません。 – aaaaaa

+0

プロミスの前に' console.log(hs) 'を実行しようとしましたか? Promiseを実行する前に 'hs'を修正していますか?実行中のコードの残りが終了するまで実行されないので、非同期であることを覚えておいてください。 –

+0

hs定義済みで、デバッグで見ることができますが、Promise内には表示されません – perusopersonale

答えて

0

申し訳ありませんが、私はhsという変数を宣言してから数行を残しました。

+1

おっと!まあ、少なくともあなたはそれを理解した! –

+0

誰もが心配することはありません – aaaaaa

関連する問題