Bacon.js`onError`无效

时间:2015-02-02 23:35:44

标签: functional-programming reactive-programming bacon.js

我有一个计算高度和宽度输入的宽高比的函数,并抛出一个错误,或者返回一个具有宽高比的对象。

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。也许我还没有完全理解培根的错误处理方式。

1 个答案:

答案 0 :(得分:1)

.map只能将值事件更改为值事件。要将值事件更改为错误事件(或更改为不同数量的事件),您需要使用.flatMap代替。