处理承诺代码中的承诺拒绝

我正在尝试使用gulp来缩小JS和CSS文件。 该脚本正在努力缩小JS文件,但是当我尝试缩小CSS文件时,它给出了下面的错误

(节点:10533)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:多次调用写入callback

(节点:10533)[DEP0018]弃用警告:不处理的承诺拒绝已被弃用。 将来,未处理的承诺拒绝将使用非零退出代码来终止Node.js进程。

吞食文件如下:

var gulp = require('gulp'); var concat = require('gulp-concat'); var ngAnnotate = require('gulp-ng-annotate'); var uglify = require('gulp-uglify'); var ngmin = require('gulp-ngmin'); var minify_css = require('gulp-minify-css'); var import_css = require('gulp-cssimport'); // ================== Configure this path as per the deployed server =============== var dev_static_path = '/home/shan/'; var minified_static_path = '/home/shan/minified_assets/'; var ngFiles_site = [ dev_static_path+'/angular/js/abc.js', dev_static_path+'/angular/js/abc-configurator.js', dev_static_path+'/angular/js/controller/hostme-ctrl.js', dev_static_path+'/angular/js/controller/static-page-ctrl.js' ]; var cssFiles = [ dev_static_path+'/css/bootstrap.css', dev_static_path+'/css/settings.css', dev_static_path+'/css/style.css', dev_static_path+'/css/custom.css', dev_static_path+'/css/site-custom.css' ]; // //================================================================================== // minify css files gulp.task('build-css', function(){ gulp.src(cssFiles) .pipe(import_css()) .pipe(minify_css()) .pipe(concat('abc.min.css')) .pipe(gulp.dest(minified_static_path)) }); // minify site module js files gulp.task('build-site-js', function(){ gulp.src(ngFiles_site) .pipe(ngAnnotate()) .pipe(concat('abc.min.js')) .pipe(uglify({mangle: false})) .pipe(gulp.dest(minified_static_path)) }); // ============================= This is the main execution manager ========================= gulp.task('abcsite',['build-css']); 

我不是节点JS的专家,我试着改变它

 gulp.task('abcsite',['build-css']).catch(function(err){ console.log(err) }); 

希望能够得到承诺,但却给了

TypeError:gulp.task(…)catch不是函数

没有可用的链接告诉我如何处理一个吞咽任务的承诺。

谁能帮我这个 ?

更新1 :下面尝试,没有工作。 同样的错误

 gulp.task('turacos',function(){ return gulp.src(cssFiles) .pipe(import_css()) .pipe(minify_css()) .pipe(concat('turacos.min.css')) .pipe(gulp.dest(minified_static_path)) }).catch(function(err){ console.log(err) }) 

你需要return gulp.src()调用,所以gulp.src()会知道子任务何时完成:

 gulp.task('build-css', function(){ return gulp.src(cssFiles) .pipe(import_css()) ...