Parse platform httpRequest inside for循环为所有记录设置相同的值

Parse platform httpRequest inside for循环为所有记录设置相同的值,parse-platform,Parse Platform,我希望根据查询和对每个记录执行的httpRequest的结果,从CloudCode构建并返回一个对象数组 以下示例的问题是,它为所有记录的所有元素对象添加相同的值。通过测试,我知道promises.pushParse.Cloud.httpRequest之外的变量。。e、 g.countryName是唯一的 我错过了什么 谢谢 Parse.Cloud.define("search3", function(request, response) { var rs = []; var

我希望根据查询和对每个记录执行的httpRequest的结果,从CloudCode构建并返回一个对象数组

以下示例的问题是,它为所有记录的所有元素对象添加相同的值。通过测试,我知道promises.pushParse.Cloud.httpRequest之外的变量。。e、 g.countryName是唯一的

我错过了什么

谢谢

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');
    });

});

发现问题,使用下划线_each而不是for修复问题:

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