Проблема с асинхронностью 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));
});
  • Вопрос задан
  • 193 просмотра
Решения вопроса 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: или я тебя не правильно понял, тебе нужно чтобы вторая задача не запускалась пока не выполнится первая?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы