有谁可以解释以下两个来源之间的区别?我遇到了第一个街区,但不确定为什么它会比第二个更好。
来源1
Observable
.of(futureDate)
.flatMap(date => {
const delay = date - Date.now();
return Observable.timer(delay);
});
来源2
const delay = futureDate - Date.now();
Observable.timer(delay);
答案 0 :(得分:3)
当您认为在订阅之前没有任何事情发生时,差异就会变得明显 - 并且可以在创建可观察项之后的某个时间进行订阅。
当对第一个observable进行预订时,传递给定时器的延迟是基于当前时间 - 即订阅时间。
当订阅是第二个时,计时器的延迟将基于创建可观察量的时间 - 而不是在订阅时。