2017-01-13 6 views
-1

私は約束した2つの数字(価格)を返す少しの機能を作った。 forループを使用して数値を取得しましたが、コードを実行すると、価格が1つしかコンソールに表示されません。Nodejスチームボット、looのための約束

機能:

function getPrices(offer){ 
var price = []; 
return new Promise(function(resolve, reject){ 
    for(var i = 0; i < offer.length;i++){ 
     market.getItemPrice(730, offer[i].market_hash_name, function(err, data) { 
      if(!err) { 
        try { 
          // JSON.parse() can throw an exception if not 
          resolve(data.lowest_price.match(/\$(\d+\.\d+)/)[1]); 
        } catch(e) { 
          reject(e); 
        } 
        //price += data.lowest_price.match(/\$(\d+\.\d+)/)[1]; 
      } 
     }); 
    } 
}); 
} 

が値を取得:

getPrices(offer.itemsToReceive).then(function(val){ 
    var a = ""; 
    a += val; 
    console.log(a); 
}).catch(function(err) { 
    console.log(err); 
}); 

それだけの値のいずれかを出力します: 0.05

答えて

-1

あなたが通って第1の反復での約束を解決していますループ。最後のアイテムを扱っているかどうかを確認してから解決する必要があります。