2012-04-10 10 views
6

He probado esto y parece que el orden de manejo de eventos es el mismo que el orden de la lista en el evento fuente. No creo que pueda confiar en esto ya que la documentación solo indica:¿Cuál es el orden de manejo de eventos para la función de derrame en Reactive-Banana?

Emite eventos simultáneos. Hasta rigurosidad, tenemos un derrame. recopilar = id

¿Cómo puedo crear una función similar a derramarse con una especificación como:

emiten ocurrencias de eventos secuenciales con la garantía de que no hay otros eventos dispararán entre la primera y la última

¿O debería intentar un enfoque diferente? Estoy tratando de implementar la funcionalidad de macro en Reactiva-Banana

Respuesta

3

(yo soy el autor de reactivos con el plátano.)

Parece que el orden de manejo de eventos es el mismo que el orden de la lista en el evento fuente.

Esto es correcto, puede confiar en eso. De hecho, más o menos se deduce de la ecuación spill . collect = id. Después de todo, para generar el mapeo de identidad, spill debe conservar el orden de los eventos ya que collect los ha puesto en la lista. También puede inspeccionar el código fuente de los módulos Reactive.Banana.Model (Reactive.Banana.Internal.Model en la versión 0.5) y Reactive.Banana.Combinators. Tomados en conjunto, dan una implementación modelo autorizada. Puede verificar directamente cómo se comporta spill. (Aunque puede ser un poco confuso ya que el modelo está construido en dos partes).

No obstante, añadiré algunas palabras a la documentación.

+0

Excelente, gracias. – llayland

+0

Y gracias por la biblioteca. Realmente disfruto aprendiendo FRP con eso. – llayland

Cuestiones relacionadas