Во всех языках существуют библиотеки синхронных задач к которым я ужасно привык.
Типа -
first(/** создать объект и передать в него какие-то аргументы*/)
.then(/** получить объект полученный на предыдущем шаге и что-то с ним сделать*/)
.then(/**получить объект полученный на предыдущем шаге и что-то с ним сделать */)...
В js есть что-то подобное в виде Promises и Q, но я не могу понять, являются ли они полным эквивалентом того, о чем говорю я? То есть все примеры которые я когда либо встречал были приведены в контексте асинхронности но я так и не понял, заточены они специально для асинхронности или их можно вообще всегда-всегда использовать?
И если Promises и Q можно использовать в любом "контексте", то что будет лучше в контексте angular?
Если инфы мало, то вот конкретика. Предположим что у меня есть кнопка подписанная на событие click.
По событию я должен - изменить цвет, изменить прозрачность. Если я вынесу вызовы методов, которые будут это делать в хендлер, то получится жесткая связанность и невозможность добавлять что-то на этапе конфигурации. По этому я хочу сделать последовательное выполнение тасков, которые можно будет устанавливать на этапе конфигурации и в хендлере выполнять лишь task.execute().
Подойдет ли для этого Promises и Q?