我有以下代码片段
async.waterfall([
// Read directory
async.apply(fs.readdir, '../testdata'),
// Load data from each file
function(files, callback) {
async.each(files, loadDataFromFile, callback);
}
], function(err) {
if (err) {
api.logger.error('Error while inserting test data', err);
}
next();
});
有没有办法可以替换这件作品:
function(files, callback) {
async.each(files, loadDataFromFile, callback);
}
只有一个功能?就像我上面做的那样,使用async.apply()
我替换了这个:
function(callback) {
fs.readdir('../testdata', callback);
}
我知道我可以创建自己的辅助函数来执行此操作,或者我可以将其保留为这样,但我想知道是否有一种方法可以仅使用诸如.bind()
or之类的函数来执行此操作.apply()
。
我曾考虑过使用.bind()
then.apply()
但这会导致function(loadDataFromFile, files, callback)
which 不行。