Является ли концепция отложенного / обещанного в JavaScript новой или это традиционная часть функционального программирования?
Мне действительно нравится идея шаблона или парадигмы отложенного / обещанного jQuery, но иногда у меня возникают проблемы с оборачиванием моего стареющего мозга вокруг более тонких точек или конкретных деталей реализации.
Фактически недавно я обнаружил, что шаблон / парадигма отложенного / обещания, кажется, предшествует jQuery и также присутствует по крайней мере в следующих библиотеках / инфраструктурах JavaScript:
Deferred github Q homepage task.js homepage when.js github wire.js github, presentation YUI gallery-deferred moduleЯ, вероятно, пропустил некоторые, включил материал, который действительно является частью одного из других, и допустил другие ошибки в этом списке ... Пожалуйста, отредактируйте его, чтобы исправить или оставить комментарии.
Was the deferred/promise concept invented by "Q"? Was it invented with some other JavaScript library or framework? Or does it predate JavaScript completely?
If the whole idea has traditionally been part of functional programming, where was it first done and where can I read about the concept generally rather than these various different JavaScript implementations?
Or is functional programming entirely beside the point? Is the concept more related to concurrent programming than to functional programming?