Для второго обещания в качестве параметра требуется результат первого обещания. Я видел пример решения этой проблемы с помощью промисов ES6.
firstThingAsync()
.then(function(result1) {
return Promise.all([Promise.resolve(result1), secondThingAsync(result1)]);
})
.then(function(result1, result2) {
// do something with result1 and result2
})
.catch(function(err){ /* ... */ });
Но я не уверен, какая функция $q ведет себя аналогично Promise.resolve. Любые идеи?