我有一项Gulp任务,其任务如下:获取文件夹列表。计算文件夹中的单词。报告每个文件夹的计数和总计数。
到目前为止,这就是我所拥有的。
gulp.task('count', function() {
['folder1','folder2',...].forEach(function(folderName) {
gulp.src(['./'+folderName+'/**/*.md']).pipe(countWords(folderName));
});
});
在计算了所有文件夹的单词后,我想调用函数reportGrandTotal
。我花了好几个小时试图弄清楚如何做到这一点。问题是gulp.src().pipe()
链以异步方式运行。在我尝试的许多模式中,reportGrandTotal
在任何gulp.src().pipe()
链完成之前就会运行。
如何修改此任务,以便在完成所有gulp.src().pipe()
个链后,我可以运行reportGrandTotal
并获得总计?
答案 0 :(得分:0)
如果我理解您的问题,您可以为reportGrandTotal指定依赖项,确保所有任务都使用回调或返回流或承诺。
gulp.task('reportGrandTotal', ['count'], function(){
// your code
}
第二个参数是依赖项,reportGrantTotal在依赖项完成之前不应该运行。 Gulp docs for dependencies