Не могу понять Iteratee, Enumerator, Enumeratee в Play 2.0 [закрыто]

Я только начал изучать Play 2.0 Framework. Единственное, что я просто не могу понять, это шаблон Iteratee, Enumerator и Enumeratee, описанный в играть учебник. У меня очень мало опыта в функциональных языках.

Что делает этот шаблон?

Как это помогает мне писать неблокирующий / реактивный код?

некоторые простые примеры помогут.

1 ответов


загрузка playframework 2.0 поставляется с некоторыми образцами. Два из которых имеют примеры Iteratee/Comet. Например, кометные часы!--11-->образец приложение показывает:

lazy val clock = Enumerator.fromCallback { () =>
  Promise.timeout(Some(dateFormat.format(new Date)), 100 milliseconds)
}

тогда он используется следующим образом:

Ok.stream(clock &> Comet(callback = "parent.clockChanged"))

который будет подавать результат клиенту кусками. The