2017-12-05 1 views
0

fs.readfile 메소드에 문제가 있습니다.Node.js fs.readfile가 무한하게 작동합니다

fs.readFile(path.join(__static, '/file.json'), function (err, data) { 
     if (err) { 
      console.log('Error loading client secret file: ' + err); 

      return; 
     } 

     authorize(JSON.parse(data)); 
    }); 

문제는 내 메인 컴퓨터에 모든 시간을 잘 작동하지만 오늘은 노트북에 내 REPO를 복제하고 그 잘 작동하지 않습니다이다 : 나는 다음과 같은 코드가 있습니다. 난 항상 노트북에서 readFile occurence 위의 줄에 도달하지만 대부분의 경우 (항상은 아님) readFile은 무한하게 작동하는 것처럼 보입니다. 오류도 기록하지 않으며 인증 방법도 실행하지 않습니다. 앱을 새로 고침하고 다시 실행하면 즉시 파일을 읽습니다. 이것은 저에게 독서 스레드가 어떤 이유인지 스스로 차단하는 것, 왜 그런지 모르겠습니다. 그런데, 제가 읽는 .json 파일은 1kB입니다.

답변

1

json 파일에는 fs.readFile을 수행 할 필요가 없습니다. 파일을 require()하면 파싱 된 객체로 사용할 수 있습니다.

let file = require('./file.json'); 

console.log(file) 
+0

이 솔루션은 내 앱의 워크 플로에서 작동하지만 여전히 내 질문에는 대답하지 않습니다. readFIle이 항상 작동하지 않는 이유는 다음과 같습니다./여전히이 답변을 투표하고 다른 사용자를 기다립니다. 감사합니다. – Tomek

+0

인코딩 문제 일 수 있습니다. 인코딩을 지정해보십시오. fs.readFile (path.join (__ static, '/file.json'), 'utf8', function (err, data) –

+0

unfortunetaly not)이 문제는 해결되지 않습니다. 비록 내가 약간의 상쾌하게하거나 마스터 스레드에서 interupting, readfile 여전히 비동기 콜백이며 완료해야합니다,이 작동하지 않습니다 : / – Tomek