Node.js - call a method after another method is fully executed

asynchronous, javascript, node.js, promise, rsvp-promise

Solution

i know about promises but i can't get how to put it in sintax

Assuming that `XHR()` does return a promise, this is what your code should look like then:

function do(x,y) {
    var requests = [];
    if (x)
        requests.push( XHR1() );
    if (y)
        requests.push( XHR2() );
    return RSVP.all(requests);
}
function done(){
    return something;
}

do(1, 1).then(done);

Problem

I have 2 simple methods: ``` function do(x,y){ if(x){ XHR1().success(); } if(y){ XHR2().success(); } } function done(){ return something; } ``` now i just would like to be sure to call `done()` when `do()` has finished (**do() method contains async requests to Mysql DB) how can i achieve this?** Obviously this won't put such methods in sequence: ``` do(x=1,y=1); done(); //this can run also if do() has not finished yet ``` So i tryed: ``` function do(x,y,_callback){ if(x){ XHR1().success(); } if(y){ XHR2().success(); } _callback(); } function done(){ return something; } do(x=1,y=1,done()); // this won't work the same cause callback is not dependent by XHR response ``` this is what i use for promises https://github.com/tildeio/rsvp.js/#arrays-of-promises

Original source

Related problems