Promises can be useful for abstracting async/threaded operations (both by operation and syntax) and can also be used to provide a standard interface for libraries/drivers that operate both synchronously and asynchronously.
http://orthecreedence.github.io/blackbird/
Topics: concurrency