生成器 – thunkifying JSON.parse返回奇怪的结果

我正在尝试使用co和生成器来读取JSON文件。 test.json包含:

 { "hello": "world" } 

这通过jsonlint所以它应该是有效的。 目前这里是我的代码:

 #!/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) })() 

只有一个空的对象被logging。 然而, fileContents已满,所以它似乎是破碎的JSON.parse部分。 我究竟做错了什么?

愚蠢的我, JSON.parse是同步 。 所以不需要换行。

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