2016-11-14 4 views
0

난 그 태스크 주어진 zip 파일을 추출 할 수있는 모듈을 작성할 필요가 태스크를 수행 한 다음 동작을 성공하면 다른 작업을 트리거하는 방법을 노출한다 개의 파라미터 (zip file's path, directory where to extract's path).노드 콜백 또는 이벤트를 사용하여 zip 파일을 비동기로 추출 하시겠습니까?

내 관심사는 콜백 디자인 패턴이나 관찰 가능한 이벤트 이미 터 하나를 사용해야합니까?

기본적으로 이벤트를 확장하는 객체를 노출해야하는지 궁금합니다. extraction-complete 이벤트에서 관찰 할 수있는 모듈 또는 성공한 경우 callback(err, 'ok')을 사용해야합니다.

두 패턴간에 영리한 접근 방법은 무엇입니까?

내 목표는 파일을 압축 해제 한 다음 추출 된 아카이브의 내용을 찾아 압축을 풀고 추출 된 폴더에서 데이터베이스의 일부 정보를 작성하는 것입니다. 폴더는 zip 파일이있는 이미지를 폴더로 구성되고 약 600 항목

이 있는가 당신이 설치하려면이 명령을 사용할 수 있습니다
+0

약속 사용을 고려하십시오. – SLaks

+0

두 방법 모두 유효하다고 생각합니다 ... 또한 약속 방식은 유효한 접근 방식입니다 ... 단지 '디자인 패턴'에 달려 있습니다. 이 목록을 살펴보십시오 https : //blog.risingstack.com/fundamental-node-js-design-patterns/... 코드의 나머지 부분과 일관성을 유지해야합니다. –

답변

0

압축 해제 첫째 :

var unzip = require('unzip'); 

var stream = fs.createReadStream('/tmp/file.zip'); 
stream.pipe(unzip.Extract({ path: '/dest' }) 
    .on('close', function() { 
     // Your callback code will go here... 
    }) 
); 
:

npm install unzip 

그런 다음 아래 코드를 사용