Tuesday, 2 May 2017

Using Promises in NodeJS (Parse Server)

I am trying to get used to Promises. My Parse Server environment always returns a promise, however I need to mix Parse functions with some of my own functions that I would like to work in accordance with the Parse way of doing things.

Here is my code

savePrescription(user, prescription)
   //Returning an object (working!) to be passed to the next function.
        .then(function(savedProgData) {
            console.log(savedProgData) <-- undefined!
            getSavedData(savedProgData)
        })
        .then(function(savedIds) {
            console.log(savedIds); <-- undefined!
            sendClientProgrammes(savedIds)
        })
        .then(function(returnedData) {
            console.log(returnedData);
            response.success();
        }, function(err) {
            response.error(err);
        })

    function sendClientProgrammes(savedIds) {
        console.log('running send client programmes');
        return new Promise(function(resolve, reject) {
            return resolve();
        })
    }

    function getSavedData(savedProgData) {
        console.log('running getSavedData');
        return new Promise(function(resolve, reject) {
            var savedIds = [];
                for(var i = 0; i < savedProgData.length; i++) {
                    savedIds.push(savedProgData[i].id)
                }
                if(savedIds.length > 0) {
                    console.log(true);
                    return resolve(savedIds);
                } else {
                    reject();
                }
        })
    }

At the end of this I am getting a {code: 107, message: "The server returned an invalid response."} error.

How can I 'promisfy' my standard JS functions?



via Taylorsuk

No comments:

Post a Comment