Rob*_*lor 23 node.js ecmascript-harmony ecmascript-6
尝试使用新的基于ES6的node.js用于Mongo的ODM(Robe http://hiddentao.github.io/robe/)
获得"意外严格模式保留字"错误.我在这里错了吗?
test0.js
"use strict";
// Random ES6 (works)
{ let a = 'I am declared inside an anonymous block'; }
var Robe = require('robe');
// :(
var db1 = yield Robe.connect('127.0.0.1');
Run Code Online (Sandbox Code Playgroud)
运行:
C:\TestWS>node --version
v0.11.10
C:\TestWS>node --harmony test0.js
C:\TestWS\test0.js:12
var db1 = yield Robe.connect('127.0.0.1');
^^^^^
SyntaxError: Unexpected strict mode reserved word
at exports.runInThisContext (vm.js:69:16)
at Module._compile (module.js:432:25)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Function.Module.runMain (module.js:490:10)
at startup (node.js:123:16)
at node.js:1031:3
Run Code Online (Sandbox Code Playgroud)
ale*_*ods 21
如果要使用生成器以同步方式执行异步操作,则必须执行以下操作:
co(function*() {
"use strict";
{ let a = 'I am declared inside an anonymous block'; }
var Robe = require('robe');
var db1 = yield Robe.connect('127.0.0.1');
})();
Run Code Online (Sandbox Code Playgroud)
在哪里co实现你可以找到:
等等.
在strict mode你不能使用yield发电机外.在non-strict mode生成器外部 yield将被视为变量标识符 - 因此在您的情况下它将抛出错误.
| 归档时间: |
|
| 查看次数: |
39036 次 |
| 最近记录: |