Skip to content

Latest commit

 

History

History

promise

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
layout title folder permalink categories tags
pattern
Promise
promise
/patterns/promise/
Concurrency
Java
Functional
Reactive
Difficulty-Intermediate

Also known as

CompletableFuture

Intent

A Promise represents a proxy for a value not necessarily known when the promise is created. It allows you to associate dependent promises to an asynchronous action's eventual success value or failure reason. Promises are a way to write async code that still appears as though it is executing in a synchronous way.

alt text

Applicability

Promise pattern is applicable in concurrent programming when some work needs to be done asynchronously and:

  • code maintainability and readability suffers due to callback hell.
  • you need to compose promises and need better error handling for asynchronous tasks.
  • you want to use functional style of programming.

Real world examples

Related Patterns

  • Async Method Invocation
  • Callback

Credits