【发布时间】:2017-05-14 04:47:41
【问题描述】:
我有一个从 ASP.net MVC Web API 获取数据的小型 Angular 2 应用程序。使用身份验证。我正在尝试在 Angular 2 中使用 Ahead Of Time 编译器。我正在运行以下命令
node_modules\.bin\ngc -p src
但我收到以下错误
(node:13640) UnhandledPromiseRejectionWarning: 未处理的承诺 拒绝(拒绝 id:2):TypeError:右侧 'instanceof' 不是对象(节点:13640) 弃用警告: 未处理的承诺拒绝已被弃用。未来,承诺 未处理的拒绝将终止 Node.js 进程 带有非零退出代码。
谁能告诉我如何解决它
这是我的目录结构
我已将 tsconfig.json 从根目录移动到 src 文件夹,因为它在 link 中被指示
这就是我使用 Promise 的方式
我已经做出了这样的承诺:
public get(servicename: string) {
this.colorlog.log('get ' + servicename + " ",enmMessageType.Info);
return this.http.get(this.ngWEBAPISettings.apiServiceBaseUri + "api/" + servicename + "/", this.ngWEBAPISettings.getConfig()).toPromise();
}
并在这样的组件中使用它
get() {
var promise = this.setupServicePromise.get(this.SERVICE_NAME);
promise.then((response: any) => {
this.colorlog.log('in then promise ProductComponent get' + response, enmMessageType.Data);
this.vm.Products = response.json();
}).catch((error: any) => {
this.colorlog.log("Error Occurred in product", enmMessageType.Error);
});
}
这是我的 ts.config 文件。
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
【问题讨论】:
-
你能分享你的 tsconfig 文件吗?
-
请检查问题
-
我遇到了这个问题,我通过将我的 Angular 更新到最新的 2.4.1 来解决它,我的意思是 angular/core、common、form、compiler、compiler-cli。试试这个
-
@MrJSingh 更新版本,经过一些更改后它可以工作,非常感谢您的帮助
-
@MrJSingh,别担心,我发现了这个GitHub issue,它是在 Angular 2.2.4 上报告的,但问题似乎已经传播到 Angular 2.3。该问题与 TypeScript 2.1 的某些不兼容有关。
标签: node.js asp.net-mvc angular angular2-aot