2015-01-30 2 views
2

저는 한 가지의 Grunt 작업의 일부로 실행중인 HTTP 서버가 있습니다. 리스닝 메소드는 (대부분의 Node.js 코드와 마찬가지로) 비동기 적이므로, Grunt 작업이 메소드를 호출 한 직후 실행을 완료하고 서버를 닫습니다.그랑트 작업에서 서버 수신 대기하는 방법은 무엇입니까?

grunt.registerTask('serveProxy', 'Start the proxy to the various servers', function() { 
    var server = http.createServer(function(req, res) { 
     // ... 
    }); 
    server.listen(80); 
}); 

어떻게 계속 실행합니까, 그렇지 않으면 메소드 블록을 반환하지 않을 수 있습니까?

답변

3

해결책은 Grunt에게 비동기 메서드임을 알리고 우리가 수행 한 시점을 나타내는 콜백을 사용하여 as per the documentation을 기다리도록 지시하는 것이 었습니다.

grunt.registerTask('serveProxy', 'Start the proxy to the various servers', function() { 
    var done = this.async(); 
    var server = http.createServer(function(req, res) { 
     // ... 
    }); 
    server.listen(80); 
}); 
관련 문제