Использование Angular $q.all с созависимыми промисами

Для второго обещания в качестве параметра требуется результат первого обещания. Я видел пример решения этой проблемы с помощью промисов 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. Любые идеи?


person nmeln    schedule 07.08.2015    source источник
comment
Я уже отвечал на аналогичный вопрос: Можно ли изменить это вложение обещаний на цепочку?   -  person New Dev    schedule 07.08.2015


Ответы (1)


В Angular 1.4 вы можете использовать $q.resolve(result1).

Источник: документы Angular 1.4 $q.resolve.

В более старых версиях вы можете использовать $q.defer().resolve(result1).

Источник: Документация по отложенному API Angular 1.3< /а>.

person joews    schedule 07.08.2015