Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Angular 2 Cookbook
  • Toc
  • feedback
Angular 2 Cookbook

Angular 2 Cookbook

By : Matthew Frisbie, Patrick Gillespie
4.2 (24)
close
Angular 2 Cookbook

Angular 2 Cookbook

4.2 (24)
By: Matthew Frisbie, Patrick Gillespie

Overview of this book

Angular 2 introduces an entirely new way to build applications. It wholly embraces all the newest concepts that are built into the next generation of browsers, and it cuts away all the fat and bloat from Angular 1. This book plunges directly into the heart of all the most important Angular 2 concepts for you to conquer. In addition to covering all the Angular 2 fundamentals, such as components, forms, and services, it demonstrates how the framework embraces a range of new web technologies such as ES6 and TypeScript syntax, Promises, Observables, and Web Workers, among many others. This book covers all the most complicated Angular concepts and at the same time introduces the best practices with which to wield these powerful tools. It also covers in detail all the concepts you'll need to get you building applications faster. Oft-neglected topics such as testing and performance optimization are widely covered as well. A developer that reads through all the content in this book will have a broad and deep understanding of all the major topics in the Angular 2 universe.
Table of Contents (11 chapters)
close

Canceling asynchronous actions with Promise.race()


ES6 introduces Promise.race(), which is absent from the $q spec in Angular 1. Like Promise.all(), this static method accepts an iterable collection of promise objects; whichever one resolves or rejects first will become the result of the promise wrapping the collection. This may seem like unusual behavior, but it becomes quite useful when you're building a cancellation behavior into the system.

Note

The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/4362/ .

Getting ready

Suppose you started with a simple promise that resolves to a value after 3 seconds:

const delayedPromise = new Promise((resolve, reject) =>  
  setTimeout(resolve.bind(null, 'foobar'), 3000)) 
.then(val => console.log(val)); 

You would like to have the ability to detach a part of your application from waiting for this promise.

How to do it...

A simple solution would be to expose the promise's reject handler and just...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete