2017-01-24 4 views

Répondre

3

Vous n'avez pas besoin d'un nouvel opérateur, mais une combinaison de ceux qui existent déjà:

source.onBackpressureLatest().flatMap(function, 1) 

FlatMap fonctionnera 1 source intérieure à la fois et onBackpressureLatest gardera tomber les valeurs de source extérieure (à l'exception du dernier) s'il n'y a pas de demande alors que flatMap exécute la source interne 1.

Si vous ne souhaitez pas continuer avec la dernière source disponible, utilisez plutôt onBackpressureDrop.

+0

Il semble que cela fonctionne avec onBackpressureDrop() au lieu de onBackpressureLatest(). OnBackpressureDrop() est-il correct? –

+0

Je vais corriger cela à onBackpressureDrop(), n'hésitez pas à le corriger si c'est une erreur –

+0

Ils ont une signification sémantique différente: avec 'onBackpressureDrop' vous pouvez avoir un trou dans le traitement si la source a fait une pause pour une raison après une éclater. – akarnokd