2017-07-26 42 views
1

是否存在能夠通過計數抑制排放的操作員?RxJS - 收到後n的發射值

我基本上想重複跳過調用。在下面的例子中,我想跳過5,發出一個值並重復。

export default function errorHandler(action$){ 
    action$.ofType(types.ERROR) 
    /* After every n emissions received, emit once */ 
    .map(someAction) 
} 

回答

3

你可以使用bufferCount,這將發出一旦緩衝動作的指定數目。

隨着RxJS的術語,節流會涉及到第一緩衝的行動正在發出:

export default function errorHandler(action$){ 
    action$.ofType(types.ERROR) 
    .bufferCount(5) 
    .map((actions) => actions[0]); 
} 

發射最後緩衝的作用,而不是會被稱爲反跳,在RxJS的術語:

export default function errorHandler(action$){ 
    action$.ofType(types.ERROR) 
    .bufferCount(5) 
    .map((actions) => actions[actions.length - 1]); 
} 
相關問題