当前位置 : 主页 > 手机开发 > ROM >

Promise和Observable的映射

来源:互联网 收集:自由互联 发布时间:2021-06-10
前言 promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题。 使用的是rxjs6版本。 这篇文章是方便使用Observable的API替换Promise的API。 正常用法 promise.t

前言

  1. promise解决了嵌套地狱的问题,Observable解决了promise只有一个结果,和不可以取消的问题。
  2. 使用的是rxjs6版本。
  3. 这篇文章是方便使用Observable的API替换Promise的API。

正常用法

promise
.then(result => {})
.catch(error => {})
.finally(() => {});

observable.subscribe(
  result => {},
  error => {},
  ()=>{},  // finally
);

then

promise
.then(result => {})
.then(result => {})
.then(result => {})

import { concat } from 'rxjs';
concat(observable0,observable1,observable2).subscribe(
  result => {},
  error => {},
  ()=>{},  // finally
);

Promise.all

Promise.all([promise0, promise1]).then((result)=>{});

import { forkJoin } from 'rxjs';
forkJoin([observable0, observable1]).subscribe(result => {});

Promise.race

Promise.race([promise0, promise1]).then((result)=>{});

import { race } from 'rxjs/observable/race';
race([observable0, observable1]).subscribe(result => {});
网友评论