NodeJS console SyntaxError: Unexpected token * for generator
NodeJS console SyntaxError: Unexpected token * for generator
我运行正在使用 NodeJS 控制台:
$ node --version
v0.12.0
我正在尝试实现一个像这样的生成器函数
function* colorGen() {
var colors = ["red", "green", "blue", "white"]
var i = 0;
yield colors[i];
i += 1;
if (i > 3) {i = 0;}
}
但是当我 运行 第一行时,我得到一个语法错误:
$ node
> function* colorGen() {
SyntaxError: Unexpected token *
at Object.exports.createScript (vm.js:44:10)
at REPLServer.defaultEval (repl.js:117:23)
at bound (domain.js:254:14)
at REPLServer.runBound [as eval] (domain.js:267:12)
at REPLServer.<anonymous> (repl.js:279:12)
at REPLServer.emit (events.js:107:17)
at REPLServer.Interface._onLine (readline.js:214:10)
at REPLServer.Interface._line (readline.js:553:8)
at REPLServer.Interface._ttyWrite (readline.js:830:14)
at ReadStream.onkeypress (readline.js:109:10)
>
为什么会这样?
生成器函数目前在标记 --harmony_generators
后面的节点中可用。参见 Features Implemented in V8 and Available in Node。
带星号的函数采用 ECMAScript 6 语法。
function* name()
我觉得你的nodejs无法识别。在启动服务器时使用 --harmony
标志。
我运行正在使用 NodeJS 控制台:
$ node --version
v0.12.0
我正在尝试实现一个像这样的生成器函数
function* colorGen() {
var colors = ["red", "green", "blue", "white"]
var i = 0;
yield colors[i];
i += 1;
if (i > 3) {i = 0;}
}
但是当我 运行 第一行时,我得到一个语法错误:
$ node
> function* colorGen() {
SyntaxError: Unexpected token *
at Object.exports.createScript (vm.js:44:10)
at REPLServer.defaultEval (repl.js:117:23)
at bound (domain.js:254:14)
at REPLServer.runBound [as eval] (domain.js:267:12)
at REPLServer.<anonymous> (repl.js:279:12)
at REPLServer.emit (events.js:107:17)
at REPLServer.Interface._onLine (readline.js:214:10)
at REPLServer.Interface._line (readline.js:553:8)
at REPLServer.Interface._ttyWrite (readline.js:830:14)
at ReadStream.onkeypress (readline.js:109:10)
>
为什么会这样?
生成器函数目前在标记 --harmony_generators
后面的节点中可用。参见 Features Implemented in V8 and Available in Node。
带星号的函数采用 ECMAScript 6 语法。
function* name()
我觉得你的nodejs无法识别。在启动服务器时使用 --harmony
标志。