条件操作符
iff
import { iif, of, defer } from 'rxjs';
const isDev = process.env.NODE_ENV === 'development';
// 根据环境决定输出日志的方式
const logger$ = iif(
() => isDev,
of('Pipe to Console (Dev Mode)'),
of('Pipe to Log File (Prod Mode)')
);
logger$.subscribe(console.log);import { fromEvent, iif, of } from 'rxjs';
import { mergeMap } from 'rxjs/operators';
const checkbox = document.querySelector('#agree-terms');
const submitBtn = document.querySelector('#submit');
// 每次点击按钮时,根据勾选状态决定后续流
fromEvent(submitBtn, 'click').pipe(
mergeMap(() => iif(
() => checkbox.checked,
of('Sending Data...'),
of('Please check the terms!')
))
).subscribe(alert);defaultEmpty
every
takeUntil
sequenceEqual
最后更新于