Promises
Упрощаем использование параллельных потоков в Javascript
Промисы - представление некоего значения в будущем. Они отличаются от типичного для Node.js стиля с огромным количеством колбэков (Callback hell), потому что они дают вам реальные значения, которые вы можете продолжать использовать.
Несколько примеров:
Промисы представляют «обещание» будущего значения
|
|
Промисы можно комбинировать
Потому что они являются реальными значениями, точно так же как String или Array:
|
|
Промисы можно использовать где угодно, ведь они - это значения
|
|
Просто создать новые комбинаторы
Все вышеперечисленные свойства облегчают эту задачу. Бонус: структурирует ваш запутанный код.
Все вышеперечисленные свойства облегчают задачу. Бонус: весь ваш запутанный код разделяется!
|
|
Промисы стандартизированы
Выберите любую библиотеку реализующую промисы и вы сможете работать с асинхронным кодом. В добавок, если вы пишите комбинатор для promises, он будет работать везде, а не только в вашей библиотеке: https://github.com/killdream/pinky-combinators
Работа без колбэков в Nodejs без проблем
Если вы используете Node.js, то вы можете создать комбинатор, который позволит отказаться от колбэков всего с помощью 5 строчек кода, но мы уже сделали это за вас:
|
|
#####Ссылки и дополнительный материал
Несомненно обратите внимание на спецификацию и на библиотеки, которые ее реализуют.
Отличные статьи по теме включают пост James Coglan и пост Irakli
Читайте так же статьи по теме: