如何使用 Parse.promise javascript 定义一个承诺数组并获取结果数组 [parse.com]

How to define an array of promises and get an array of results using Parse.promise javascript [parse.com]

本文关键字:数组 结果 获取 parse com promise Parse javascript 定义 一个承诺 何使用      更新时间:2023-09-26

我试图从一系列承诺中获取一系列结果。我能够通过我没有得到结果数组来定义承诺数组下面是我的代码

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

在我的主要通话中

        var i = 0;
        var size = results.length;
        while(i<size){
            selection_query.push(get_order_selection(results[i]));
            i++;
        }

我无法在数组中获取结果。

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

我已经找到了答案。console.log("arguments.length:"+arguments.length(;

使用参数。

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