2015-11-07 55 views
0

我想根據查詢和每條記錄的httpRequest結果構建並返回CloudCode中的對象數組。httpRequest for循環爲所有記錄設置相同的值

下面的問題(示例)是它爲所有記錄的所有「元素」對象添加相同的值。從測試中我知道,變量 「外部」 的promises.push(Parse.Cloud.httpRequest(..(如 「國家名稱」)是唯一的。

缺少什麼我在這裏?

謝謝!

Parse.Cloud.define("search3", function(request, response) { 

    var rs = []; 
    var promises = []; 

    // Query CountryTemp class 
    var query = new Parse.Query('CountryTemp'); 
    query.limit(1000); 
    query.exists("Country"); 
    query.include("Country"); 
    query.greaterThan('Month11', 25); 

    query.find().then(function(results) { 

     for (var i = 0; i < results.length; ++i) { 

      var element = {}; 
      var result = results[i]; 
      var country = result.get("Country"); 

      var countryID = country.id; 
      var countryName = country.get("Name"); 
      var temp = result.get("Month11"); 

      promises.push(Parse.Cloud.httpRequest({ 
       url: 'http://www.google.com' 
      }).then(function(httpResponse){ 
       element.id = countryID; 
       element.countryName = countryName; 
       element.temp = result.get("Month11"); 
       element.httpresponse = httpResponse.text.substr(0, 50); 
       rs.push(element); 
      })); 
     } 

     return Parse.Promise.when(promises); 

    }).then(function() { 
     response.success(rs); 
    }, function() { 
     response.error('error'); 
    }); 

}); 

回答

0
實測值

問題,使用下劃線,而不是 「_each」 「爲」 固定它:

var _ = require('underscore'); 
.. 
_.each(results, function(result) { 
相關問題