В моем коде у меня есть специальный метод поста, который экстенты класса HTTP угловой 2.Использования Promise в методе, возвращающий Observable Ошибки Причины
post(url: string, body: string, options?: RequestOptionsArgs): Observable<any> {
if (!this._gs.externalRequest) {
let that = this;
this._gs.getToken().then((token) => {
if (token) {
options = this.prepareOptions(options, token);
}
return that.sendPostRequest(url, body, options);
});
}
else {
this._gs.externalRequest = false;
return this.sendPostRequest(url, body, options);
}
}
В вышеуказанном способе кода поста возвращает Наблюдаемые в то время как метод это. _gs.getToken(), если условие читает токен из локального хранилища, его асинхронный вызов и возвращает обещание.
Хотя компиляция doenst генерировать какие-либо ошибки, но, когда я достигаю
this.http.post ('/ апи/myFormHandler', this.form.value) .subscribe ((данные) => { });
class MyFormComponent- inline template:16:29 caused by: Cannot read property 'subscribe' of undefined
Кстати, вам не нужно использовать 'this = this' при использовании функций стрелки жира. – hgoebl
'if (! ...) {...}' ничего не возвращает. – hgoebl