나는 이벤트 루프를 실험하고있다. 먼저 파일의 내용을 읽고 인쇄하는 간단한 코드로 시작합니다.Node.js 이벤트 루프 이해. process.nextTick()이 호출되지 않았습니다. 왜?
var fs = require('fs');
var PATH = "./.gitignore";
fs.readFile(PATH,"utf-8",function(err,text){
console.log("----read: "+text);
});
그런 다음 무한 루프에 배치합니다. 이 경우, readFile 함수는 절대로 실행되지 않습니다. 노드의 단일 스레드가 I/O 호출을 실행하지 않고 반복적으로 작업 중이기 때문에 오류가 아니라고 생각합니다.
while(true){
var fs = require('fs');
var PATH = "./.gitignore";
fs.readFile(PATH,"utf-8",function(err,text){
console.log("----read: "+text);
});
}
그래서 I/O 호출에 루프와 얽힌 프로세스 시간이 할당되도록 할 수 있습니다. process.nextTick()으로 시도했지만 작동하지 않습니다.
while(true){
process.nextTick(function(){
fs.readFile(PATH,"utf-8",function(err,text){
console.log("----read: "+text)
});
});
}
왜 작동하지 않습니까?
뛰어난 설명, 감사합니다. JayKuri !! – codependent
아주 좋은 설명은 process.nextTick에 대한 진술을 검증 할 수있는 증명을 줄 수 있습니까? 노드 또는 자바 스크립트에 의해 모든 문서처럼. –
훌륭한 설명 - 이제 이해할 수 있습니다 ... – Guihgo