Я сделал функцию в Angular 2, которая структурирована так же, как и любая другая функция в приложении (но содержимое отличается), но при запуске возникает ошибка _co.routeToBrainstoming is not a function
.
Функция довольно проста и запускает службу:
routeToBrainstorming():void {
// Send name to API
this._nmapi
.getService("user/add/" + name)
.then((result) => {
// Move to next screen
this.router.navigateByUrl('/brainstoming');
})
.catch(error => console.log(error));
};
Сервис для доступа к API:
import { Injectable } from '@angular/core';
import { Http, Response } from "@angular/http";
@Injectable()
export class NmapiService {
private _baseUrl = "http://localhost:59819/";
modules: any;
constructor(private _http: Http) {
console.log('Novel Machine API V1.0 (Beta) Initialized...');
}
// On successful API call
private extractData(res: Response) {
let body = res.json();
return body || {};
}
// On Error in API Call
private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);
}
// Basic Get W/ No Body
getService(url: string): Promise<any> {
return this._http
.get(this._baseUrl + url)
.toPromise()
.then(this.extractData)
.catch(this.handleError);
}
}
API является локальным и работает - но фактически не возвращает никаких данных - он просто добавляет запись в базу данных с guid в качестве первичного ключа. Таким образом, все, что «возвращается» как таковое, это статус 200 ok http response.