Announcement

👇Official Account👇

图片

Welcome to join the group & private message

Article first/tail QR code

Skip to content

自定义操作符

RxJS 允许你创建自定义操作符来封装可复用的逻辑。

使用 pipe 函数创建

typescript
import { pipe } from 'rxjs';
import { filter, map } from 'rxjs/operators';

export const myCustomOperator = pipe(
  filter(x => x > 0),
  map(x => x * 2)
);

// 使用
source$.pipe(myCustomOperator).subscribe();

使用函数创建操作符

typescript
import { Observable } from 'rxjs';

export function myOperator() {
  return (source: Observable<any>) => new Observable(observer => {
    return source.subscribe({
      next(value) {
        // 处理 value
        observer.next(value);
      },
      error(err) {
        observer.error(err);
      },
      complete() {
        observer.complete();
      }
    });
  });
}

上次更新于: