0
다음 코드를 사용하면 "asyncfail"작업을 수행하면 콘솔로 이동하고 종료 코드가 0이 아닌 오류 출력이 발생할 것으로 예상됩니다 ("syncfail"작업과 마찬가지로). 실제로 실제로 발생하는 것은 jake가 더 이상의 출력 (아래 샘플 출력)없이 완료되고 프로세스 종료 코드가 성공을 나타냅니다. 제이크가 뭔가 잘못하고 있는지 확신 할 수 없거나 약속이 ... 어떤 아이디어?) (비동기 오류가있는 jake 작업으로 인해 오류 알림이 발생하지 않음
C:\src\letscodejavascript>node node_modules\jake\bin\cli.js -f .\jakerepro.js syncfail
jake aborted.
Error: synchronous failure
at api.fail (C:\src\letscodejavascript\node_modules\jake\lib\api.js:221:18)
(See full trace by running task with --trace)
C:\src\letscodejavascript [master]> $lastexitcode
1
C:\src\letscodejavascript [master]> .\jake.bat -f .\jakerepro.js asyncfail
C:\src\letscodejavascript>node node_modules\jake\bin\cli.js -f .\jakerepro.js asyncfail
finishing sync part
finished timeout
finished timeout
finished timeout
finished timeout
all done, time to fail
C:\src\letscodejavascript [master]> $lastexitcode
0
당신은 약속 한대로 .done()을 호출 할 수 있습니다. .done()은 처리되지 않은 오류를 다시 throw하므로 jake의 처리기가 올바른 작업을 수행 할 수 있습니다. fwiw, bluebird.js는 .done()을 사용하지 않습니다. o/\ o <- 안녕하세요 ~ fives to frank :) – busticated