2016-10-26 5 views
0

配列を返す関数を作成しようとしています。 私が試した:約束していない値

this.view_skills = function() { 
     var arr = ; 
     dashboard.view_skills(); 
     skill.approved_skills.each(function(item) { 
      item.getInnerHtml().then(function(text) { 
       console.log('User skills: ' + text); 
       arr.push(text); 
      }); 
      console.log('view a:' + arr); 
     }); 
     return arr; 
    }; 

をしかし、私は関数を呼び出すとき、私はそれが未定義だというメッセージが表示されます。 私はしようとしましたvar arr=[] しかし、これは空の配列を返しました。

ありがとうございました。

+0

'$ http'は非同期です – Weedoze

+1

@Weedoze - ' $ http'は質問に表示されません – Quentin

答えて

0

1)あなたが他の配列を初期化する必要性、またはエラー

2を取得)約束は非同期なので、あなたは1を起動したときに、JSコードが停止しません。かなり多くのこのhapens:

あなたは、約束を開始するarr配列を作成します。エンジンにコードが付いてくるようにしばらく時間がかかります。それは空の配列を返し、少し後に約束が終わり、配列に何かが置かれます。

関連する問題