异步 grunt 任务中的 async.series
async.series inside an asynchronous grunt task
我有一个异步运行(使用 this.async)的繁琐任务,因为我在代码中有异步函数。我还希望一些任务串联运行,所以我正在使用来自异步 npm 模块的 async.series。问题是,当我到达 async.series 的最后一个回调即函数(err,result)时,我调用 done() 来通知异步 grunt 任务已成功完成,它有时会失败,有时会通过。我似乎无法理解它。这是代码:
grunt.registerTask('aggCompJSON', function(){
var done = this.async();
var resultFile = {}; // final JSON object
var groupJSON = {}; // groups JSON object
async.series([
function(callback){
// get Application Configuration
__getAppConfig(grunt, callback);
},
function(callback){
// generate Component_map
__genCompMap(grunt, callback);
}
], function (err, result){
done();
}
);
我收到以下错误:
致命错误:ENOENT,打开"日志/应用程序.log"
有时也是成功的。任何意见都值得赞赏。谢谢
附言所有函数都不返回错误。错误对象在 最后一个回调始终为 null。
感谢您@RodrigoMedeiros的帮助。是的,你是对的,我试图在其中一个函数中需要一个模块,但它的行为出乎意料。解决方法是只检查哪些语句可能会由于异步执行 grunt 任务而导致错误。就我而言,我删除了这些陈述,它们是不必要的。
相关文章:
- node.js,async,restify:无法使restify调用在async.series内同步
- 如何防止bind在使用async.series时更改node.js中的原始对象
- 使用预定义函数的NodeJS async.series
- Node js async.series无法使用Express应用程序--响应发生得太早
- 等待函数结束(在 async.series 中)无法按预期工作
- 如何等待findOneAndUpdate完成,然后再继续async.series
- 为什么 async.series 只产生一个输出
- Node.js: forEach inside async.series
- 使用从 async.series 调用的原型函数中的“this”
- Async.而 async.而 在 async.series 中
- Async.series 不适用于 fs.readFile
- async.applyEachSeries无法引用'这'与async.series不同
- async.waterfall和async.series之间有什么区别
- 如何使用async.series来等待响应
- 结合异步.Each和async.series
- 用async.series的回调函数填充数组
- async.series和async.each未按预期工作
- rs.readFile in async.series 排序问题
- 异步 grunt 任务中的 async.series
- 如何在async.series中使用mocha测试