¿Es el concepto de aplazamiento / promesa en JavaScript uno nuevo o es una parte tradicional de la programación funcional?

Me gusta mucho la idea del patrón o paradigma de promesa / aplazamiento de jQuery, pero a veces me cuesta envolver mi cerebro envejecido en torno a los puntos más finos o los detalles de implementación específicos.

De hecho, recientemente he descubierto que el patrón / paradigma diferido / prometido parece ser anterior a jQuery y también está al menos en estas otras bibliotecas / marcos de JavaScript:

DiferidogithubQ página principaltask.jspágina principalcuando.jsgithubwire.jsgithub, presentaciónYUImodulo de galeria diferida

Probablemente me he perdido algunas, he incluido cosas que realmente son parte de una de las otras, y he cometido otros errores en esa lista ... Edítela para corregirla o dejar comentarios.

¿El concepto de aplazamiento / promesa fue inventado por "Q"? ¿Fue inventado con alguna otra biblioteca o framework de JavaScript? ¿O es anterior a JavaScript completamente?

Si toda la idea ha sido tradicionalmente parte de la programación funcional, ¿dónde se hizo primero y dónde puedo leer sobre el concepto en general en lugar de estas diferentes implementaciones de JavaScript?

¿O es la programación funcional completamente fuera de lugar? ¿El concepto está más relacionado con la programación concurrente que con la programación funcional?

Respuestas a la pregunta(2)

Su respuesta a la pregunta