я хочу
получить параметр id из маршрута
затем получить задачу с этим
затем выберите родителя для родителя задачи, если он имеет один
Angular CLI: 7.1.4
Node: 11.6.0
OS: linux x64
Angular: 7.1.4
@angular-devkit/architect 0.11.4
@angular-devkit/build-angular 0.11.4
@angular-devkit/build-optimizer 0.11.4
@angular-devkit/build-webpack 0.11.4
@angular-devkit/core 7.1.4
@angular-devkit/schematics 7.1.4
@ngtools/webpack 7.1.4
@schematics/angular 7.1.4
@schematics/update 0.11.4
rxjs 6.3.3
typescript 3.1.6
webpack 4.23.1
Служба задач:
import { ITask } from '@task/interfaces/task';
...
export class TaskService {
constructor(private _http: HttpClient) {}
...
get_task(id: number) {
return this._http.get<ITask>(\`http://127.0.0.1:8000/api/task/${id}\`);
}
в моем компоненте:
для получения одной задачи у alredy есть 2 подписчика
this._route.params.subscribe((params: Params) => {
this._task_service
.get_task(params['id'])
.subscribe(
(data: ITask) => { this.task = data; },
err => { this._log.log('error while fetching task ', err); }
);
});
Я хочу
this._route.params
get_task(params['id'])
if `task.parent` get parent task
Я читал много часов и получал ошибки при каждом попытке
flatMap().subscribe(...)
// Тип «Подписка» нельзя назначить типу «ObservableInput <{}>»
Я читаю много постов в интернете, но не понимаю
Может кто-нибудь объяснить и показать мне пример, как я могу этого достичь?
обновление
console.log(
'type ',
typeof this._task_service.get_task(2),
this._task_service.get_task(2)
);
я понял
type object
{…}
_isScalar: false
operator: {…}
project: function request()
thisArg: undefined
__proto__: Object { call: call(), … }
source: {…}
_isScalar: false
operator: {…}
predicate: function
./node_modules/@angular/common/fesm5/http.js/HttpClient.prototype.request/res$<()
thisArg: undefined
__proto__: Object { call: call(), … }
source: Object { _isScalar: false, source: {…}, operator: {…} }
__proto__: Object { lift: lift(), subscribe: subscribe(), _trySubscribe:
d_trySubscribe(), … }
__proto__: Object { lift: lift(), subscribe: subscribe(), _trySubscribe: _trySubscribe(), … }