Skip to content

Latest commit

 

History

History
 
 

promise

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
layout title folder permalink pumlid categories tags
pattern
Promise
promise
/patterns/promise/
DOqv4i8m301xNW4FYDLJvIl2rYHYBDcZWtmVKr3jDZkxUw15IhyzM6lFHcdzVaPCVm8ONkNWEFELJbQ71ccKEWIuvuKhXJT-S6laVEWsCO9C7GHz2KmRmav0KVzUqgJCtsydROjV
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 maintainablity 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