Я впервые использую Angular, Edge. js или вызываю API. Я не уверен, правильно ли я все делаю, но я точно что-то делаю неправильно, потому что это не работает.
Чтобы получить данные из API, написанного в C#, я использую Edge. js в сервисе в моем Angular проекте.
data.service.ts:
import { Injectable, ValueProvider } from '@angular/core';
import * as edge from "edge";
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor() { }
getData(type: string, method: string) {
let data = edge.func({
assemblyFile: 'C:\Program Files\Common Files\Siemens\Automation\Simatic OAM\bin\CC.CommonInterfaces.dll',
typeName: `CC.CommonInterfaces.${type}`,
methodName: `${method}`
});
return data(null, function(error, result) {
if (error) throw error;
console.log(result);
return result;
});
}
}
Затем я просто вызываю метод getData с правильными параметрами в компоненте например:
onClickTestAPI() {
this.dataSrv.getData("IState", "IsTunnelActive");
}
Но при работе веб-сервера вывод консоли показывает следующее:
core.js:4002 ERROR Error: Uncaught (in promise): Error: Unexpected token '<'
Evaluating https://localhost:8888/edge
Loading ccui/ccui.umd.js
SyntaxError: Unexpected token '<'
at eval (<anonymous>)
at Qe (system.js:4)
at system.js:4
at T (system.js:4)
at T.h (system.js:4)
at T (system.js:4)
at system.js:4
at system.js:4
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391)
at Object.onInvoke (core.js:26255)
at resolvePromise (zone.js:852)
at zone.js:762
at rejected (tslib.es6.js:69)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391)
at Object.onInvoke (core.js:26255)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (zone.js:150)
at zone.js:910
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:26246)
Нет даже ответа API (или, по крайней мере, я не могу Найди это).
Есть идеи, где я ошибся?