From the first RxJS Live conference, see how you can use finite state machines and RxJS to bring your UI to life with incredibly rich animations!
Simply stated, you need to know how zone.js affects your Angular applications if you're creating an application with great complexity than a hello-world or todo app. Understanding how zone plays into the change detection equation in Angular can help you write more performant code or understand how to disable zone entirely if you're working with Angular Elements.
However, if something goes wrong with Zone.js it can be very frustrating to analyze and understand. This is why every developer should know some basics about Zone.js.
Subject is a class that internally extends Observable. A Subject is both an Observable and an Observer that allows values to be multicasted to many Observers, unlike Observables, where each subscriber owns an independent execution of the Observable.
This article will help you avoid some common pitfalls when using RxJS Subjects. Additionally, you'll understand how and when to create multicast vs unicast Subjects.
Do you know how to use fakeAsync to test your asynchronous code? This article will walk you through testing promises, timers, and request animation frame.
Zone.js monkey patches asynchronous APIs such as setTimeout, XHR, etc., and exposes lifecycle hooks such as onScheduleTask or onInvokeTask, that provide us with the ability to monitor and intercept when a task is registered or completed. The main goal of this library is to let Angular know when it should run change detection and update the view in a transparent way for the user.
Time to time on my daily tasks I have to implement some functionality that was already implemented by someone previously in a neat vanillaJS library, but… no Angular version or even ES6 module of it is available to be able to easily grab it into your Angular 8 application.
This demo walks through not only wrapping a third party library in an Angular component, but it also shows you how to package that component in an npm package that can be reused in your applications.