2014-04-20 2 views
2

co 및 generator를 사용하여 JSON 파일을 읽으려고합니다. test.json는 포함이 jsonlint를 전달Generators - JSON.parse를 쓰레기로 처리하면 이상한 결과가 발생합니다.

{ 
    "hello": "world" 
} 

그래서 유효해야합니다. 현재 내 코드는 다음과 같습니다.

#!/usr/bin/env node --harmony 
var co = require('co'), 
    fs = require('fs'), 
    thunkify = require('thunkify'); 

var read = thunkify(fs.readFile); 
var JSONParse = thunkify(JSON.parse); 

var log = console.log.bind(console); 

co(function *(){ 
    var fileContents = yield read('test.json', 'utf-8'); 
    var works = yield JSONParse(fileContents) 
    log(works) 
})() 

빈 개체 만 기록됩니다. 그러나 fileContents이 꽉 찼기 때문에 파손 된 JSON.parse 부분 인 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

바보 me, JSON.parse is sync. 따라서 포장 할 필요가 없습니다.

var fileContents = yield read('public/data/works.json', 'utf-8'); 
log(JSON.parse(fileContents)) 
+0

공유를 해주셔서 감사합니다. – FutuToad

관련 문제