目錄(190章)
倒序
- coverpage
- Title Page
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- What Does Being Reactive Mean?
- The reactive paradigm
- Why do I need it?
- Installation of tools
- Node.js
- bacon.js
- RxJS
- Your first code using reactive programming
- Summary
- Reacting for the First Time
- The bacon.js observables
- Creating our first observable
- Observables from DOM events (asEventStream)
- Observables from promises (fromPromise)
- Observable node event emitter (fromEvent)
- Observables from an array (fromArray)
- Observables from an array (sequentially)
- Observables from an interval (interval)
- Observables from other sources
- Properties
- Changes in an observable
- Reacting to changes
- Subscribing
- Subscribing using the onValue() method
- Subscribing using the log method
- Subscribing using the assign method
- Acting when an error occurs
- Reading how an operator works
- Transforming events using bacon.js
- Reusing observables
- Observables' lazy evaluation
- Summary
- A World Full of Changes - Reactive Extensions to the Rescue
- RxJS observables
- Difference between bacon.js and RxJS observables
- Hot and cold observables
- Installing RxJS
- Creating an observable
- Creating an observable from iterable objects
- Creating an observable from a sequence factory
- Creating an observable using range ()
- Creating an observable using period of time
- Creating an observable from callbacks
- Creating an observable from a promise
- Creating empty observables
- Creating an observable from a single value
- Creating an observable from a factory function
- Creating an observable from arbitrary arguments
- Creating an observable from an error
- Creating observables from DOM events (or EventEmitter)
- Creating an observable from an arbitrary source
- Subscribing to changes (Observer)
- RxJS Subjects
- RxJS Disposable
- RxJS Schedulers
- Summary
- Transforming Data - Map Filter and Reduce
- Adding operators to observables
- The map() operator
- The flatMap() operator
- The filter() operator
- The reduce() operator
- Summary
- The World Changes Too Fast - Operators to Deal with Backpressure
- What is backpressure?
- Common strategies to deal with backpressure
- Lossy strategies to deal with backpressure
- The throttle() operator
- The sample() operator
- The debounce() operator
- The pausable() observables
- Loss-less operators to deal with backpressure
- Buffering
- The bufferWithCount() operator
- The bufferWithTime() operator
- The bufferWithTimeOrCount() operator
- Pausable observables (with buffer)
- Controlled observables
- More ways to filter data
- The first() operator
- The take() operator
- The takeLast() operator
- The takeWhile() operator
- The skip() operator
- The skipWhile() operator
- Summary
- Too Many Sources - Combining Observables
- When do I need to combine observables?
- Running observables
- Concatenating observables
- Using the concat() operator
- Using the merge() operator
- Using the concatAll() operator
- Using the mergeAll() operator
- Combining observables
- Using the forkJoin() operator
- Using the zip() operator
- Using the zipIterable() operator
- Summary
- Something is Wrong - Testing and Dealing with Errors
- Dealing with errors
- Acting when an error occurs
- Treating an error
- The catch() operator
- The onErrorResumeNext() operator
- The retry() operator
- The mergeDelayError() operator
- Testing our application
- Testing in the server
- Testing in the browser
- Testing applications using RxJS
- Summary
- More about Operators
- The road so far
- The fundamentals of RxJS
- The map() operator versus the flatMap() operator
- Challenge - Creating a function to filter elements using only the flatMap() operator
- Filtering data
- Aggregating data
- Going beyond the basics
- Dealing with backpressure
- Combining observables
- Other important operators
- The flatMapLatest() operator
- The flatMapFirst() operator
- The finally() operator
- The groupBy() operator
- The do() operator
- Summary
- Composition
- What is a transducer?
- Available transducer implementations for JavaScript
- The transducers-js API
- Using transducers
- Using transducers with RxJS
- Testing transducers
- A performance comparison for JavaScript code using transducers
- Summary
- A Real-Time Server
- The web chat server
- Creating the project
- The architecture of the server
- Implementing the server
- DataSource
- Service to send messages
- Test implementation
- Service implementation
- Service to listen to new messages
- Test implementation
- Service implementation
- Service to block messages from a given user
- Test implementation
- Service implementation
- Service to send a command
- Test implementation
- Service implementation
- Handling WebSocket connections
- Scaling the server
- Connecting to Redis
- Using Redis as the DataSource for messages
- Summary
- A Real-Time Client
- Installing dependencies
- The structure of our client
- Building the application for the first time
- Connecting to the server application
- Using RxJS to manage user input
- Connecting user interactions and server communication
- Improving interaction with RxJS
- Batching changes to the DOM
- Testing the application
- Summary 更新時間:2021-07-09 20:33:37
推薦閱讀
- 操作系統實用教程(Linux版)
- Designing Purpose:Built Drones for Ardupilot Pixhawk 2.1
- Ansible權威指南
- Implementing Azure DevOps Solutions
- Linux使用和管理指南:從云原生到可觀測性
- NetDevOps入門與實踐
- Linux服務器配置與管理
- Windows 8實戰從入門到精通(超值版)
- Introduction to R for Quantitative Finance
- 精解Windows 10
- openEuler操作系統核心技術與行業應用實踐
- Mastering Azure Serverless Computing
- 鴻蒙HarmonyOS應用開發從入門到精通
- Docker for Developers
- 物聯網操作系統AliOS Things探索與實踐
- 用“芯”探核:基于龍芯的Linux內核探索解析
- 操作系統實用教程
- 操作系統教程
- Command Line Fundamentals
- 電腦辦公(Windows 10+Office 2016)從入門到精通
- Red Hat Enterprise Linux 6.0系統管理
- C++ Reactive Programming
- 24小時學會系統安裝與重裝
- Linux從入門到精通(第2版)
- DevOps with Windows Server 2016
- Icinga Network Monitoring
- Hadoop MapReduce Cookbook
- Android安全機制解析與應用實踐
- Penetration Testing with Shellcode
- GameSalad Beginners Guide