Using promises like that is an anti-pattern. Consider this instead which is probably as good as you'll get.
myGenericFunc('foo', 'bar')
.then(
function(res){
result1 = res;
return myGenericFunc('baz','qux');
})
.then(
function(res){
result2 = res;
return myGenericFunc('grault','garply');
})
.then(
function(res){
result3 = res;
return myGenericFunc('quux','corge');
})
.then(
function(res){
result4 = res;
})