Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gulp 将异步任务标记为失败,并使用非零退出代码退出_Gulp - Fatal编程技术网

Gulp 将异步任务标记为失败,并使用非零退出代码退出

Gulp 将异步任务标记为失败,并使用非零退出代码退出,gulp,Gulp,考虑这个简单的异步吞咽任务(这显然不是实际任务,但很好地说明了将异步测试标记为失败的一般问题): 我想知道如何将foo任务标记为失败,以便Gulp中止构建并将非零退出代码状态返回shell。我尝试过的事情: done(1)-完成任务,但存在代码为0的gulp done(新错误(失败))-完成任务,但存在代码为0的gulp 抛出新错误(失败)-成功了,但看起来“有点残忍” 将这样一个异步任务标记为失败的惯用方法是什么?它原来是gulp中的一个bug,在版本3.8.4中通过 从3.8.4开始,可

考虑这个简单的异步吞咽任务(这显然不是实际任务,但很好地说明了将异步测试标记为失败的一般问题):

我想知道如何将
foo
任务标记为失败,以便Gulp中止构建并将非零退出代码状态返回shell。我尝试过的事情:

  • done(1)
    -完成任务,但存在代码为0的gulp
  • done(新错误(失败))
    -完成任务,但存在代码为0的gulp
  • 抛出新错误(失败)
    -成功了,但看起来“有点残忍”

将这样一个异步任务标记为失败的惯用方法是什么?

它原来是gulp中的一个bug,在版本3.8.4中通过

从3.8.4开始,可以写:

gulp.task('foo', function (done) {
    setTimeout(function () {
        done('error');
    }, 1000);
});
并以返回状态1正确退出吞咽过程

gulp.task('foo', function (done) {
    setTimeout(function () {
        done('error');
    }, 1000);
});