当使用部分映射函数(并非所有可能的输入都是有效的)时,我最终创建了一个小助手:
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));
}
});
}有了这个助手,我可以以与property.map(myMapper)相同的方式使用property.map(myMapper)。这样的功能是否已经存在于Bacon.js中了,还是我做错了什么?
与Observable.map相比,它什么也抓不到吗?
发布于 2013-11-04 06:07:49
答案是否定的--到目前为止,Bacon.js中还没有这样的功能。
到目前为止,还没有对异常捕获的需求,我认为,因为Javascript中的异常通常是软件错误,而不是应该作为正常操作的一部分来处理的东西。例如,JQuery中的AJAX错误不被建模为异常。
无论如何,我建议您在Github上打开一个新的发行版。让我们看看是否有其他人认为这是我们需要的东西。如果我们想这样做,我认为我们应该以一种更通用的方式实现异常处理,即不与"map“耦合。
你的实现,顺便说一句,看起来不错!
https://stackoverflow.com/questions/19752441
复制相似问题