In experimenting with Bacon.js, I've come across the following unexpected behavior:
var email = $("#email")
.asEventStream("keyup")
.map(function(event) {
return $(event.target).val();
})
.log();
var validEmail = email.map(validateEmail).log();
// submit.doAction('.preventDefault'); isn't working for some reason
$('form').on('submit', function (event) { event.preventDefault() });
var submit = $('form').asEventStream('submit');
// postFormData is never called
Bacon.when([email, validEmail, submit], postFormData);
Each of the streams emits values appropriately, but the join pattern is never matched.