【问题标题】:Generators - thunkifying JSON.parse returns odd results生成器 - thunkifying JSON.parse 返回奇怪的结果
【发布时间】:2014-06-04 20:49:11
【问题描述】:

我正在尝试使用 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)
})()

只记录一个空对象。但是fileContents 已满,因此似乎是 JSON.parse 部分损坏了。我做错了什么?

【问题讨论】:

    标签: json node.js generator ecmascript-harmony co


    【解决方案1】:

    我真傻,JSON.parse is sync。所以不需要包装。

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

    【讨论】:

    • 感谢分享,thunkify什么时候调用你的co函数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多