0

I'm trying to get an array of results from an array of promises. I'm able to define the array of promises by i'm not getting the array of results Below is my code

function get_order_selection(order){
var itemList=[];
var promise = Parse.Promise.as();
var query = new Parse.Query("Order_Selection");
query.equalTo("order", order);
query.include('wine');
promise = query.find().then(function(results) {
    console.log("Order_Selection received for order.id: " + order.id + " result(s): " +results.length);
    console.log(results);

    var i = 0;
    var size = results.length;
    while(i<size){
        var name = results[i].get('wine').get('name');
        var unitPrice = results[i].get('unitPrice');
        var quantity = results[i].get('quantity');
        var smallURL = results[i].get('wine').get('small_picture').url();
        console.log("Order_Selection-> name: "+name+ " unitPrice: "+unitPrice+" quantity: "+quantity+" smallURL: "+smallURL);
        var item = {
            name: name,
            unitPrice: unitPrice,
            quantity: quantity,
            smallURL: smallURL
        }
        itemList.push(item);
        i++;
    }
    console.log("get_order_selection: itemList:"+itemList);
    return itemList;
});
return promise;
 }

In my main call

        var i = 0;
        var size = results.length;
        while(i<size){

            selection_query.push(get_order_selection(results[i]));

            i++;
        }

I'm not able to get the results in array.

            Parse.Promise.when(selection_query).then(
              function(results,results2,results3){
                console.log("Promise results");
                console.log("Promise results.length:"+results.length);
                 console.log("Promise results2.length:"+results2.length);
                var responseJSON = {orders: orders_list};
                response.success(responseJSON);
              }
        );
Ng Zhong Qin
  • 1,211
  • 2
  • 15
  • 28

1 Answers1

1

I've found the answer. console.log("arguments.length:"+arguments.length);

use arguments.

        Parse.Promise.when(selection_query).then(
          function(results,results2,results3){
            console.log("arguments.length:"+arguments.length);
            console.log("Promise results");
            console.log("Promise results.length:"+results.length);
             console.log("Promise results2.length:"+results2.length);
            var responseJSON = {orders: orders_list};
            response.success(responseJSON);
          }
    );
Ng Zhong Qin
  • 1,211
  • 2
  • 15
  • 28