Заставить gulp записывать файлы синхронно, прежде чем перейти к следующему заданию

if(!myList.isEmpty() && myList.get(0) instanceof MyType){
    // MyType object
}
16
задан asolberg 7 July 2014 в 20:29
поделиться

1 ответ

назад к 2019: если кто-то приезжает сюда с подобной проблемой

В большом глотке 4.*, по крайней мере, большой глоток ожидает обещания решить, но проигнорировать результат так..., если Вы используете асинхронный, ждут шаблона и resutrn результат gulp.src('...'), Вы получили удивление. задача не ожидает потокового конца перед ним, продолжаются! что-то, что может закончиться к серьезной ошибке и талии времени. решение "promisify" gulp.src

пример:


gulp.task( async function notWaitingTask(){
   // the return stream are ignored
   return gulp.src('file.js')
     .pipe(gulp.dest('new-location'))

})

gulp.task( async function waitingTask(){
   // the return stream are respect

   await promisifyStream(
     gulp.src('file.js')
      .pipe(gulp.dest('new-location'))
   )

})

function promisifyStream(stream) {
    return new Promise( res => stream.on('end',res));
}


0
ответ дан 30 November 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: