, @greim @c-smile. +1 . , Promises.
@greim . , . , , .
The @ c-smile answer will cause my functions to return an array (or some collection) of their parameters and their result. Then all the calling functions of this function will dig out the return value for the "natural" result, unlike the parameters that he used to get the result.
Repeating the answers in terms of my original post:
function doAsnychThingsInSequence(params) {
var theResultOfThing0;
return doThing0(params).then(function(resultOfThing0) {
theResultOfThing0 = resultOfThing0;
return doThing1(resultOfThing0);
}).then(function(resultOfThing1) {
return doThing2(theResultOfThing0, resultOfThing1);
}, function(error) {
});
}
function doThing1(params) {
return [params, resultOfThing1];
}
return [params0, params1 ... paramsN, resultOfThingN];
function doAsnychThingsInSequence(params) {
return doThing0(params).then(function(resultOfThing0) {
return doThing1(resultOfThing0);
}).then(function(resultOfThing0, resultOfThing1) {
return doThing2(resultOfThing0, resultOfThing1);
}, function(error) {
});
}
source
share