RxJava中的buffer()函數(shù)將源Observable變換一個新的Observable,這個新的Observable每次發(fā)射一組列表值而不是一個一個發(fā)射。
http://wiki.jikexueyuan.com/project/rxjava/images/chapter5_10.png" alt="" />
上圖中展示了buffer()如何將count作為一個參數(shù)來指定有多少數(shù)據(jù)項被包在發(fā)射的列表中。實際上,buffer()函數(shù)有幾種變體。其中有一個是允許你指定一個skip值:此后每skip項數(shù)據(jù),然后又用count項數(shù)據(jù)填充緩沖區(qū)。如下圖所示:
http://wiki.jikexueyuan.com/project/rxjava/images/chapter5_11.png" alt="" />
buffer()帶一個timespan的參數(shù),會創(chuàng)建一個每隔timespan時間段就會發(fā)射一個列表的Observable。
http://wiki.jikexueyuan.com/project/rxjava/images/chapter5_12.png" alt="" />