Using Angular made me learn RxJS and its underlying concept of observables. The nice thing here is that RxJS and reactive programming in general is fundamentally decoupled from any framework - it's a generic paradigm that you can apply in all sorts of domains where you're dealing with asynchronous problems.
RxJS is a library for composing asynchronous and event-based programs by using observable sequences. It provides one core type, the Observable, satellite types (Observer, Schedulers, Subjects) and operators inspired by Array#extras (map, filter, reduce, every, etc) to allow handling asynchronous events as collections. -- RxJS Docs
In fact, RxJS is one implementation of the ReactiveX API which is also available for numerous other languages. However, ideas from reactive programming aren't limited to that project but can now be found in many places and practically any modern user-interface framework*.