Проблема с асинхронностью node, gulp — таски?

Добрый день!
Столкнулся с проблемой асинхронностью node и не пойму как с ней справиться.
При том, что раньше работало как надо.
На сколько я знаю, при выполнении тасков, если node задерживается на одном из них, то он идет дальше, создавая асинхронное выполнение.
Вот 2 таска. Обязательно должен выполниться первый из них, а потом только второй. Так как первый создает скомпиленный файл записывая в папку tmp.
Возможно Вы подскажите как обойтись без записи в tmp, а сделать потоком.
Мне мой опыт с gulp, пока не позволяет придумать такого, чтобы не сильно усложнять логику:
gulp.task('coffee', function () {
    gulp.src(paths.src.coffee)
        .pipe(coffee())
        .pipe(concat('buildCoffee.js'))
        .pipe(gulp.dest(paths.build.tmp));
});

gulp.task('scripts', ['coffee'], function () {
    gulp.src(paths.src.libsJS)
        .pipe(concat('all.js'))
        .pipe(gulp.dest(paths.build.scripts));
});
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
andykov
@andykov
Shit happens
Попробуй добавить return к gulp.src(paths.src.coffee)

gulp.task('coffee', function () {
    return gulp.src(paths.src.coffee)
        .pipe(coffee())
        .pipe(concat('buildCoffee.js'))
        .pipe(gulp.dest(paths.build.tmp));
});


UPD: или я тебя не правильно понял, тебе нужно чтобы вторая задача не запускалась пока не выполнится первая?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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