使用 chrome 21 和原型 1.7.1,我发现 usingthrow $break
不起作用。
当Error
它应该被停止时被抛出到浏览器
if (e != $break) { ... }
我怀疑这是因为inject
在 Chrome 中有一个本机实现,并且它没有被与其他内置函数相同的功能包装。
假设这一点是正确的,还是我的代码有问题?
重新创建的代码:
var a = [1,2,3,4,5,6,7,9].inject([], function(arr, e) {
console.log(e);
if (e === 5) {
throw $break;
}
arr.push('Done ' + e);
return arr;
});
console.log('Final Array : ' + a)
更新
刚刚用 Firefox 14 和 IE 9 测试过,同样的错误出现了..
<strong>更新(2015)
这似乎已通过1.7.3
Chrome 45.0.2454.101 测试过
通过检查来源验证,reduce
已删除