我有一个计算高度和宽度输入的宽高比的函数,并抛出一个错误,或者返回一个具有宽高比的对象。
var bestAR = dimensions.map(function(dim) {
try {
return findBestAR(dim.width, dim.height);
}
catch (e) {
return new Bacon.Error(e);
}
});
bestAR.onError(function(e) {
alert(e)
});
我可以将我的catch语句中的new Bacon.Error
记录到控制台,它包含findBestAR
内部抛出的错误。但是,它没有响应每个培根onError
。也许我还没有完全理解培根的错误处理方式。
答案 0 :(得分:1)
.map
只能将值事件更改为值事件。要将值事件更改为错误事件(或更改为不同数量的事件),您需要使用.flatMap
代替。