Angular Reactive Development: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Line 25: Line 25:
==Resources==
==Resources==
The demos were at https://github.com/DeborahK/Angular-RxJS
The demos were at https://github.com/DeborahK/Angular-RxJS
=Terms and Syntax=
==Observer==
Observes the stream and responds to its notification
*Next item
*Error occurred
*Complete
<syntaxhighlight lang="ts">
const observer = {
  next: apple => console.log(`Apple emitted ${apple}`),
  error: err => console.log(`Error occurred ${err}`),
  complete: ()=> console.log(`No more Apples`)
}
</syntaxhighlight>
==Obeservable Stream==
Also call an Observable sequence, a stream and can have a stream of any type of data such as number, string, events, objects or other streams and of course http requests
<syntaxhighlight lang="ts">
const appleStream = new Observerable(appleObserver => {
  appleObserver.next(`Applie 1`)
  appleObserver.next(`Applie 2`)
  appleObserver.complete()
})
</syntaxhighlight>

Revision as of 01:51, 6 December 2020

Introduction

Background

RxJs originally was developed by Microsoft in Rx.NET. It works on Java and other platforms. The definition is "RxJs is a library for composing asynchronous and event-based programs using observable sequences"

Other approaches

  • Callbacks - difficult to use with nested async operations
  • Promises - can only handle a single emission and is not cancellable
  • Asyc/await - can only handle a single emission and is not cancellable

Why Rxjs

  • One - technical for all data e.g. mouse clicks, api calls
  • Compositional - with the operators easy to transform and combine
  • Watchful - With its push model to notify subscribers
  • Laxy - Only executes when subscribed to
  • Handles Error - Built in
  • Cancellable

Angular already use RxJs in

  • Routing
  • Reactive Forms
  • HttpClient

Reactive Development

This is characterized by

  • Quick to react to user - drrrrrr
  • Resilient to failure -error checking all the time
  • Reactive to state changes

Resources

The demos were at https://github.com/DeborahK/Angular-RxJS

Terms and Syntax

Observer

Observes the stream and responds to its notification

  • Next item
  • Error occurred
  • Complete
const observer = {
  next: apple => console.log(`Apple emitted ${apple}`),
  error: err => console.log(`Error occurred ${err}`),
  complete: ()=> console.log(`No more Apples`)
}

Obeservable Stream

Also call an Observable sequence, a stream and can have a stream of any type of data such as number, string, events, objects or other streams and of course http requests

const appleStream = new Observerable(appleObserver => {
   appleObserver.next(`Applie 1`)
   appleObserver.next(`Applie 2`)
   appleObserver.complete()
})