┌───────────────┐ │$q │ ├───────────────┤ │Defered defer()│ └───────────────┘ | | ┌───────────────────────┐ │Defered │ ┌──────────────────────────────────────────┐ ├───────────────────────┤ │Promise │ │void resolve(resultado)│---├──────────────────────────────────────────┤ │void reject(error) │ │Promise then(callBackSucess,callBackError)│ │Promise promise │ └──────────────────────────────────────────┘ └───────────────────────┘ | | | ┌──────────────────────────────────┐ ┌──────────────────────────┐ │Productor. │ │Consumidor. │ ├──────────────────────────────────┤ ├──────────────────────────┤ │notificar que ya está el resultado│ │pueda obtener el resultado│ │ │ │ │ └──────────────────────────────────┘ └──────────────────────────┘