一段时间以来一直在苦苦挣扎,老实说它让我活着,这是一个打印到javascript代码的打字稿代码。来源是
const connection: Connection = await createConnection();
从TypeORM转换为
const connection = yield typeorm_1.createConnection();
然后抛出
/path/to/api/build/routes/admin.js:22
let admins = yield con.manager.find(Admin_1.Admin);
^^^^^
SyntaxError: Unexpected strict mode reserved word
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:152:10)
at Module._compile (module.js:624:28)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/lulliezy/Documents/Projects/blog/api/build/app.js:10:13)
我到处搜索但是我还没有找到解决方案,它驱使我疯了,任何解决方案或修复或解决这个问题?我将非常感谢,提前谢谢
答案 0 :(得分:0)
您需要使用生成器来克服此问题。 Co是一种流行的生成器,它可以帮助您编写/执行非阻塞代码。
使用以下命令
安装它npm install co
然后将您的代码包装在co中,这将防止基于关键字抛出错误。像这样,
var co = require('co');
co(function*() {
"use strict";
.................
........................
let admins = yield con.manager.find(Admin_1.Admin);
.................
........................
return something;
}).then(function (returnVal) {
console.log (returnVal);
}, function (e) {
console.log(e.stack);
});
希望这有帮助!
答案 1 :(得分:0)
好的,我终于找到了我做错了什么。在我调用该行的函数之前,我错过了一个async
关键字,我是为了使它成为async
所以应该以某种方式进行这样的
/*****/
async function() {
const connection: Connection = await createConnection();
}
/****/
答案 2 :(得分:0)