0
函数数组,[fn1,fn2,...]
,每个函数通过回调“返回”,传递一个可选错误。如果通过回调返回错误,则不应调用数组中的后续函数。,使用forEach调用每个函数的回调函数?
// one example function
function fn1(callback) {
<process>
if(error) callback(errMsg);
else callback();
return;
}
// go through each function until fn returns error through callback
[fn1,fn2,fn3,...].forEach(function(fn){
<how to do this?>
});
这是可以解决的other ways,但还是很想句法灵巧使用方法。
可以这样做吗?
按正确答案:
[fn1,fn2,fn3,...].every(function(fn) {
var err;
fn.call(this, function(ferr) { err = ferr; });
if(err) {
nonblockAlert(err);
return false;
}
return true;
});
看来这有空间简化。
对我来说,更好的方法来解决这类问题 - 它更扁平,逻辑更易于访问。
这看起来好得是真实的。现在测试。 –
对!我无法相信这一点逃脱了我的阅读。谢谢! –