2015-01-21 37 views
0

我想要一個組件,異步(並有條件地)對鼠標事件流作出反應。這裏有一個簡單的場景:Streams有條件地響應熱Observable?

您懸停在a {@time: 0},組件變成A {@time:4},但那時,用戶已經徘徊在b {@time:2}然後c {@time:4}。所以組件需要從A切換到C

MouseEventStream: a-b-c-------d-e-f-g--h--------|-> 
ComponentState: *---A---*---C---*---F---*---H-|-> 

* is the idle state 

我已經試過類似如下的東西,但我需要過濾緩衝發生的一些事情......

var subject = new Rx.Subject(); 
.filter(function() { 

    return self.isIdle(); 
}) 
.map(function(item) { 

    return item; 
}) 
.subscribe(function(){ 
    // do something 
}); 

任何幫助將是非常讚賞。

回答