如果函数立即产生错误,就像下面的情况一样,onError将永远不会被调用,因为错误已经在 onError 附加时发送。如果这是一个值而不是一个错误,那么可以使用 subscribe 方法而不是 onValue ,但如果它出现错误,那么会有什么追索权? ?
var legacyNodeFunction = function(callback) {
callback(new Error('I fail IMMEDIATELY, not async!'), null)
}
function doThingsWithLegacyFunction() {
return Bacon.fromNodeCallback(legacyNodeFunction)
}
var stream = doThingsWithLegacyFunction();
stream.onError(function(err) {
console.log("this text will never be printed")
})
答案 0 :(得分:0)
实际上subscribe
函数会为您提供值和错误。
也许Promise更适合您的特殊需求。
或者您可以使用.delay(0)强制它异步,以便调用两个处理程序。