Gulp:异步任务完成后运行代码

Gulp:异步任务完成后运行代码,gulp,Gulp,我有一个吞咽任务,任务如下:获取文件夹列表。数一数文件夹中的单词。报告每个文件夹的计数和总计计数 到目前为止,这就是我所拥有的 gulp.task('count', function() { ['folder1','folder2',...].forEach(function(folderName) { gulp.src(['./'+folderName+'/**/*.md']).pipe(countWords(folderName)); }); }); 在计算完所有文件夹

我有一个吞咽任务,任务如下:获取文件夹列表。数一数文件夹中的单词。报告每个文件夹的计数和总计计数

到目前为止,这就是我所拥有的

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
并获取总计?

如果我理解您的问题,您可以为reportGrandTotal指定依赖项,确保所有任务都使用回调或返回流或承诺

gulp.task('reportGrandTotal', ['count'], function(){
    // your code
}

第二个参数将是依赖项,在完成依赖项之前不应运行reportGrantTotal

使用“使用
运行序列”
无效。Gulp启动聚合,完成任务,然后在完成聚合之前启动并完成总计任务。不起作用。Gulp启动聚合,完成任务,然后启动并完成总计任务——在完成聚合之前。