2012-11-12 2 views
1

node.js에서 기존 파일을 동 기적으로 및 비동기 적으로 확인하는 것의 차이점은 무엇입니까? 예를 들어체크의 동기와 비동기의 차이점은 무엇입니까?

:

var path = require('path'); 
if (path.existsSync("/the/path")) { // or fs.existsSync 
    // ... 
} 

fs 방법

// Is it a directory? 
lstat('/the/path', function(err, stats) { 
    if (!err && stats.isDirectory()) { 
     // Yes it is 
    } 
}); 
+0

차이점은 비동기식 (대기하지 않음)과 동기식 (블로킹, 파일 입출력이 완료 될 때까지 대기)이라는 점입니다. – Thilo

+0

@ Thilo hum ... 고마워. – Rahman

+0

동기식 메서드는 절대로 사용하지 않아야합니다 !! 또는 모든 node.js 플랫폼 이점을 잃어 버릴 수 있습니다. –

답변

1

동기 버전 메소드의 리턴 값을 통해 그 결과를 제공; 그 결과 결과를 판별하기 위해 I/O가 수행되는 동안 이러한 메소드를 차단해야합니다.

비동기 버전은 호출자가 메서드의 매개 변수로 제공하는 메서드의 콜백 함수를 통해 결과를 제공합니다. 이 메서드는 필요한 입출력을 시작한 다음 즉시 반환하므로 이러한 메서드의 반환 값은 유용하지 않습니다. 나중에 I/O가 완료되면 호출자에게 결과를 다시 제공하기 위해 콜백이 호출됩니다.

관련 문제