Gulp 完成信号流的正确方法

Gulp 完成信号流的正确方法,gulp,Gulp,我创建了一个函数,用于将数据导入文件,并为每行数据输出单独的文件。然而,有35K行数据需要编译,尽管下面的代码在大约5分钟后发出“完成”的信号,但文件仍在处理中。在这个函数完成之前,我无法启动下一个函数,所以我需要知道它实际完成的时间 function createLocations(done) { if (GENERATE_LOCATIONS) { for (var i = 0; i < locations.length; i++) { var location

我创建了一个函数,用于将数据导入文件,并为每行数据输出单独的文件。然而,有35K行数据需要编译,尽管下面的代码在大约5分钟后发出“完成”的信号,但文件仍在处理中。在这个函数完成之前,我无法启动下一个函数,所以我需要知道它实际完成的时间

function createLocations(done) {
if (GENERATE_LOCATIONS) {

    for (var i = 0; i < locations.length; i++) {
        var location = locations[i],
           fileName = 'location-' + location.area.replace(/ +/g, '-').replace(/'+/g, '').replace(/&+/g, 'and').toLowerCase() + '-' + location.town.replace(/ +/g, '-').replace(/'+/g, '').replace(/`+/g, '').replace(/&+/g, 'and').toLowerCase();
        gulp.src('./templates/location-template.html')
            .pipe($.rename(fileName + ".html"))      
            .pipe(gulp.dest('./tmp/'));
        }
    }
    done();
    console.log('Creating '+locations.length+' Files Please Wait...');
}
函数createLocations(完成){
如果(生成位置){
对于(变量i=0;i
该函数在发出完成信号后再运行15分钟。感谢您对检测功能实际完成情况的帮助


非常感谢

您是否尝试过使用gulp util.on'finish'或'end'函数。gulp.src(“…”,done)…pipes…done()如何;因此,在每次吞咽结束时,发出每个流的信号的.src已完成。我认为您必须通过cb或return等发送每个流的信号。使gulp.src(“…”,函数(完成){…pipes…done();}您是否尝试过使用gulp util.on“finish”或“end”函数。gulp.src(“…”,done)…pipes…done();因此,在每个gulp.src结束时,向每个流发送信号。我认为您必须通过cb或return等向每个流发送信号。使gulp.src(“…”,函数(done){…pipes…done();}