这是一个复杂的 stream,用 marbles 表示:
move$: -(m)--(m)--(m)--(m)--(m)--(m)----
-----------------
| takeUntil |
-----------------
up$: ---------------------------(u)---
|
endMove$: -(m)--(m)--(m)--(m)--(m)--|
down$: -(d)-------------------------
map
endMove$: -(m)--(m)--(m)--(m)--(m)--|
|
-(o)-------------------------
\
(mouseEvent)
concatAll
-(mouseEvent)----------------
map
-(x, y)----------------------