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;
});
看來這有空間簡化。
對我來說,更好的方法來解決這類問題 - 它更扁平,邏輯更易於訪問。
這看起來好得是真實的。現在測試。 –
對!我無法相信這一點逃脫了我的閱讀。謝謝! –