Skip to main content

Observable Vs Promise. All you need is here.

Brief

An observable does everything that a promise does and more. It can always be switched to a promise with toPromise() method in case a promise is expected.
An observable must be chosen over a promise if
  • any feature that are intrinsic to observables and not promises and explained in detail in related question is in demand (notably incomplete observables and observables that receive multiple values)
  • API that consumes it expects an observable and doesn't use Observable.from(...)safety structure to unify observables and promises
An observable may be chosen over a promise if the code where it's used uses observables exclusively.
A promise must can be chosen over an observable if API that consumes it expects a promise and doesn't use Observable.from(...) safety structure.
A promise may can be chosen over an observable if
  • the code where it's used uses promises exclusively (notably async functions)
  • it needs to be immediately subscribed and chained then, because a chain should be broken in observables let observable = ...; observable.subscribe(...); return observable (this also requires multiple subscriptions to be tracked in case an observable is cancellable)
Link
  1. https://stackoverflow.com/questions/50269671/when-to-use-promise-over-observable

Comments

Popular posts from this blog

npm install on windows 7 python2 not found error and node-sass@3.13.1 error #317

Before I write all, I'd like to say that before the update everything worked well; while updating node from version 7.2.1 to version 9.4.0 and npm from version 5.5.1 to version 5.6.0 in Windows 7 (64-bit) using the installer (https://nodejs.org/en/download/) and installing globally gulp-cli version 2.0.0, as far as npm install starts from the JointsWP folder I get the following error: $ npm install npm WARN deprecated babel-preset-es2015@6.24.1: รฐ  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue > uws@0.14.5 install C:\Users\Bob\Dropbox\Development\vhosts\mongoose-project\vanilla\themes\JointsWP\node_modules\uws > node-gyp rebuild > build_log.txt 2>...

Buying my buddy - Laptop

 Brief  I am planning to buy a new laptop and I am putting everything here which I come across while looking for best laptop which fits my requirements. My Requirements  Programming: .NET, Angular, SQL, Visual Studio, SQL Server Video Editing Country where I live is Nepal Able to use at least for 5 years Considering the above requirements, I will going with the Dell laptop though in Nepal Acer is quite famous and I will highlight why choose Dell over other laptop.  Before Buying, let's understand the terminology RAM SSD Nits Cooling Graphics Thunderbolt USB WIFI Screen SRGB Laptop meeting my requirements Below configuration will do my job smoothly for at least 5 years and they are: 16GB RAM DDR5 SSD Laptops Meeting My Requirments are: https://www.flipkart.Lenovo IdeaPad Pro 5com/lenovo-ideapad-pro-5-intel-core-ultra-9-185h-32-gb-1-tb-ssd-windows-11-home-14imh9-thin-light-laptop/p/itm1f4865cbfe7ea?pid=COMGZN7RRHARKTDE&lid=LSTCOMGZN7RRHARKTDE4G0GAP&marketplace=...

Steps using Github with Git Bash and Git Tortoise

Brief We will learn below things: Download tortoise git from the URL ( https://tortoisegit.org/ ) Download git from the URL ( https://git-scm.com/downloads ) Integrate local git with the remote GitHub . Initialize git in the local folder using git tortoise . Push and Pull the code from the master branch. Create different branches and check out between those branches from the local. Setup After downloading the git and git tortoise, install those files and you will be shown the below window when you right click inside any Folder in the windows. Initialize Git from the Git Tortoise Click on the "Git Create Repository Here" as shown in the first context menu and Press "Ok". You will see '.git' folder added as below. Right click inside the project Folder and hover on "TortoiseGit". The snapshot will be shown. Setting Up the Remote Repository into the local Click on the "Settings" as shown in the ...