【发布时间】:2018-11-20 19:20:01
【问题描述】:
我拥有的是这样的:
var click = fromEvent(button, 'click');
var animation = from([]).pipe(
concat(
animateDiv(300, 600),
animateDiv(-300, 600),
animateDiv( 300, 300),
animateDiv(-300, 300)
));
click.pipe(
flatMap(() => animation),
).subscribe();
每个 animateDiv() 返回一个 Observable,一旦动画完成,它就会完成。使用“concat()”我将它们链接在一起。
所以现在我不想在“点击”时启动另一个动画,而另一个动画链仍在运行......
实现这一目标的最佳方法是什么?
【问题讨论】:
-
尝试使用
exaustMap或concatMap代替flatMap。第一个将忽略所有发出的点击事件,直到运行动画完成。后者不会松开任何点击,而是会一个接一个地连接所有动画
标签: rxjs