Book Image

Learning Node.js for .NET Developers

Book Image

Learning Node.js for .NET Developers

Overview of this book

Node.js is an open source, cross-platform runtime environment that allows you to use JavaScript to develop server-side web applications. This short guide will help you develop applications using JavaScript and Node.js, leverage your existing programming skills from .NET or Java, and make the most of these other platforms through understanding the Node.js programming model. You will learn how to build web applications and APIs in Node, discover packages in the Node.js ecosystem, test and deploy your Node.js code, and more. Finally, you will discover how to integrate Node.js and .NET code.
Table of Contents (16 chapters)
15
Index

Writing cleaner asynchronous code using promises


Promises are an alternative pattern to callbacks for writing asynchronous code. A promise represents an operation that hasn't completed yet but is expected to do so in the future. As the name promise suggests, a promise is a contract to eventually provide a value or a reason for failure (that is, an error). You may already be familiar with this pattern from Tasks in .NET or Futures in Java. A promise has three possible states:

  • pending represents an in-progress operation

  • fulfilled representing a successful operation, with a result value

  • rejected representing an unsuccessful operation, with a failure reason

When executing a single operation, the callback-based and promise-based approaches appear quite similar. The power of promises comes when combining asynchronous operations.

Consider an example where we have asynchronous library functions for obtaining, processing, and aggregating data. We want to perform these operations in turn then display...