Skip to content Skip to sidebar Skip to footer

How To Properly Use Parse / Promise?

I am writing some JavaScript codes using Parse.com. To be honest, I have been reading how to use Promise and done lots of research but cannot still figure out how to use it properl

Solution 1:

Assuming Parse.com's Promise class follows the A+ spec, and I understood which bits you wanted to end up where, this ought to work:

$(document).ready(function() {

    var clientClass = Parse.Object.extend("Client");
    var clientQuery = new Parse.Query(clientClass);

    clientQuery.find().then(function(clients) {

        var totalPromises = [];

        clients.forEach(function(client) {

            var invoiceHeaderClass = Parse.Object.extend('InvoiceHeader');
            var invoiceHeaderQuery = new Parse.Query(invoiceHeaderClass);
            invoiceHeaderQuery.equalTo('headerClient', client);

            var totalPromise = invoiceHeaderQuery.find().then(function(invoiceHeaders) {
                var totalForHeader = 0;
                invoiceHeaders.forEach(function(invoiceHeader) {
                    totalForHeader += parseFloat(invoiceHeader.get('headerOutstandingAmount'));
                });
                return totalForHeader;
            });

            totalPromises.push(totalPromise);

        });

        return Parse.Promise.when(totalPromises);

    }).then(function(totals) {

        // here you can use the `totals` array.

    });
});

Post a Comment for "How To Properly Use Parse / Promise?"