为什么我不能通过管道发送BehaviourSubject?

时间:2019-05-05 15:47:04

标签: rxjs

我不确定为什么subscribeBehaviourSubject一起使用,而不与pipe一起使用。

例如,下面的代码会打印出来?

subscribe: 123
subscribe: 456

为什么也不能打印

pipe: 123
pipe: 456

代码:

import {tap } from 'rxjs/operators';
import { BehaviorSubject } from 'rxjs';

const subject = new BehaviorSubject(123);
subject.subscribe(p => console.log("subscribe: " + p));
subject.pipe(
  tap(p => {console.log("pipe:" + p);})
)
subject.next(456);

1 个答案:

答案 0 :(得分:2)

CLIENT_SECRET_FILE = 'calender_key.json'

您只是在这里点击观察。您需要为此主题单独订阅才能使用。以下代码将为您提供所需的控制台日志:

subject.pipe(
  tap(p => {console.log("pipe:" + p);})
)

如果您必须仅订阅一次,则可以尝试以下代码:

subject.pipe(
  tap(p => {console.log("pipe:" + p);})
).subscribe();