在使用部分映射函数时(并非所有可能的输入都是有效的),我最终做了一个小帮手:
function strictMap(property, f) {
return property.withHandler(function (ev) {
try {
var x = ev.fmap(f);
// force
if (x.hasValue()) {
x.value();
}
return this.push(x);
} catch (err) {
return this.push(new Bacon.Error(err));
}
});
}
有了这个助手,我可以strictMap(property, myMapper)
以与property.map(myMapper)
. Bacon.js 中是否已经有这样的功能,或者我做错了什么?
与什么都没有捕捉到的Observable.map相比?