我有一个从 ASP.net MVC Web API 获取数据的小型 Angular 2 应用程序。使用身份验证。我正在尝试在 Angular 2 中使用 Ahead Of Time 编译器。我正在运行以下命令
节点模块\.bin\ngc -p src
但我收到以下错误
(节点:13640)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):TypeError:'instanceof'的右侧不是对象(节点:13640)DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
有人能告诉我如何解决吗
这是我的目录结构
我已将 tsconfig.json 从根目录移动到 src 文件夹,正如它在此链接中所指示的那样
这就是我使用承诺的方式
我已经提供了服务,我从这些服务中返回了这样的承诺:
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
}
}