【发布时间】:2014-06-26 09:57:20
【问题描述】:
我已经阅读了几个使用 JavaScript 生成器 such as this one 的代码示例。我能想到的最简单的生成器使用块是这样的:
function read(path) {
return function (done) {
fs.readFile(path, "file", done);
}
}
co(function *() {
console.log( yield read("file") );
})();
这确实打印出file 的内容,但我的挂断是调用done 的地方。看起来,yield 是语法糖,用于将返回的内容包装在回调中并适当地分配结果值(至少在 co 的情况下,将错误参数扔给回调)。我对语法的理解正确吗?
当使用yield 时,done 是什么样的?
【问题讨论】:
-
您指的是
done中使用的read(path)吗?我认为它与yield或生成器没有任何关系——它是co库的一部分。
标签: javascript node.js generator yield co