스트림을 반환하지 않으면 각 작업의 비동기 결과가 호출자 나 종속 작업에서 기다리지 않습니다.
예를 들어
, 반환하지 스트림 다음 scripts
작업이 tsc
작업에 따라 달라 여기
$ gulp scripts
[21:25:05] Using gulpfile ~/my-project/gulpfile.js
[21:25:05] Starting 'tsc'...
[21:25:05] Finished 'tsc' after 13 ms
[21:25:05] Starting 'scripts'...
[21:25:05] Finished 'scripts' after 10 ms
[21:25:05] Compiling TypeScript files using tsc version 1.0.1.0
참고. 그것은 tsc
가 13 밀리 초에 완료되었다고보고합니다. 이것은 확실히 합리적으로 믿기에는 너무 빠릅니다. 그런 다음 scripts
작업이 시작되어 매우 짧은 시간 내에 완료됩니다. 마지막으로 tsc
에 의해 수행 된 실제 작업이 시작됩니다. 분명히 tsc
도 아니고 scripts
도 컴파일 단계가 완료되기를 기다리지 않았습니다. 이러한 작업들은 스트림을 반환 할 때
는 출력이 다소 달라 보이는 : 여기
$ gulp scripts
[21:42:25] Using gulpfile ~/my-project/gulpfile.js
[21:42:25] Starting 'tsc'...
[21:42:25] Compiling TypeScript files using tsc version 1.0.1.0
[21:42:32] Finished 'tsc' after 6.65 s
[21:42:32] Starting 'scripts'...
[21:42:32] Finished 'scripts' after 204 ms
순서가 의미가하고,보고 기간이 기대를 충족.
비동기이지만 스트림을 포함하지 않는 꿀꺽 거리기 작업이 있다면 어떻게해야합니까? 'done()'함수를 호출하거나 약속을 반환 할 수 있습니까? – Bill
최종 매개 변수로 콜백 함수를 허용하도록 작업을 정의하거나 약속을 반환 할 수 있습니다. 여기를 참조하십시오 : https://github.com/gulpjs/gulp/blob/v3.9.1/docs/API.md#gulptaskname--deps-fn –