Open hijiangtao opened 4 years ago
感谢分享。 😄 多播与单播示例那里是不是有误: 多播的示例代码应该是:
let sub = new Subject();
sub.subscribe((v) => console.log(v));
sub.subscribe((v) => console.log(v));
sub.next(1);
sub.next(2);
而不是
let observable = Rx.Observable.create(function subscribe(obsever) {
observer.next(1)
observer.next(2)
})
let subject = new Rx.Subject()
subject.subscribe(v => console.log(v))
subject.subscribe(v => console.log(v))
observable.subscribe(subject)
@tolerious 感谢分享。 😄 多播与单播示例那里是不是有误: 多播的示例代码应该是:
let sub = new Subject(); sub.subscribe((v) => console.log(v)); sub.subscribe((v) => console.log(v)); sub.next(1); sub.next(2);
而不是
let observable = Rx.Observable.create(function subscribe(obsever) { observer.next(1) observer.next(2) }) let subject = new Rx.Subject() subject.subscribe(v => console.log(v)) subject.subscribe(v => console.log(v)) observable.subscribe(subject)
是一个意思,你的代码也可以作为示例代码。
你代码中的 sub.next
就等于我这写的 observable 中的 observer.next
的调用,我这边用的是 RxJS 的老语法,你可以理解成 subject 用来示例多播,而我写的 observable 是一个自定义的 next 触发调用器
@hijiangtao 感谢感谢,sorry,我昨天没有看到observable.subscribe(subject)这句话,我还在好奇为什么observable变量跟subject变量产生了联系了呢。我看漏了。
@tolerious @hijiangtao 感谢感谢,sorry,我昨天没有看到observable.subscribe(subject)这句话,我还在好奇为什么observable变量跟subject变量产生了联系了呢。我看漏了。
对的,用的最后一行订阅以做的关联
单播与多播,举个例子,不知是否恰当。 多播:比如,我们上学的时候,英语考试,听力部分,开始考试了,学校统一播放磁带,每个教室听到的内容都是一样的,一题一题往下做,每个教室都是从第一题做到最后一题。 单播:今天学校组织全校大考试,不同年级,高年级上午考的是物理,低年级因为没学物理,所以考数学。等到九点钟,铃声响起,大家统一开始考试,但是有的教室做的是数学,有的教室做的是物理,他们只管铃声响起这个输入,但是却在各自忙各自的事情。
https://hijiangtao.github.io/2020/01/13/RxJS-Introduction-and-Actions/