2014-05-19 119 views
-1

Gulp說我花了13ms來運行我的「js」命令,但在「完成」之後它又掛了2秒左右。吞噬任務需要多長時間?

所以要麼我的任務沒有在13ms內完成,要麼在吞吐完成後額外的兩秒鐘內吞下它的大拇指。這是什麼?有沒有辦法來解決這個問題?我想知道我的任務真的需要多長時間;也許我可以減掉一些脂肪。

+1

您可能沒有返回流,因此無法知道該任務需要多長時間。 [確保你的Async支持設置正確。](https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support) – OverZealous

+0

@OverZealous:啊哈!謝謝!如果你做出答案,我會接受它。 – mpen

+1

儘管多任務仍然很奇怪。 ''gulp.task('js',['pace','mainjs']);'報告說'mainjs'花了11s,'pace'花了11s,'js'花了9us, ,「節奏」大約需要半秒,如果同時運行,「js」應該是11秒,否則應該是11.5秒。 – mpen

回答

4

首先,您需要有async tasks set up correctly。這通常意味着簡單地返回流,但也可以接受一個回調或返回一個承諾:

gulp.task('foo', function() { 
    return gulp.src()... 
}); 

gulp.task('foo', function(cb) { 
    // use the callback however 
    doAsyncThing().on('done', cb); 
}); 

二,任務總是同時運行,除非他們對彼此的依賴。如果您需要以一系列而非並行方式運行任務,並且無法使用內置的依賴關係解決方案,請使用my library, run-sequence, designed specifically for this scenario.