Как отобразить новый массив объектов из наблюдаемых? - PullRequest
0 голосов
/ 22 января 2019

У меня есть ответ от HttpClient в форме объекта JSON.В моей наблюдаемой программе я пытаюсь использовать методы RXJS для получения нужных мне данных.

Необходимые мне данные - это массив объектов в объекте ответа.Я использую pluck, чтобы получить массив из объекта ответа, и это прекрасно работает.Однако, когда я пытаюсь отобразить результат, я получаю сообщение об ошибке Property map does not exist on type {}.Я пытаюсь сопоставить массив объектов другому массиву объектов.

Вот ядро ​​наблюдаемого трубопровода:

.pipe(
    switchMap(data => this._settingsService.getSortPlan(data.plan, data.sorter)),
    pluck('sortPlanRoutes'),
    map(planRoutes => planRoutes.map(this.mapSortPlans))
)

И функция карты:

private mapSortPlans(plan) {
    return {
        route: plan.sortDestination.sortDestination,
        locationType: plan.physicalLocationAttribute.attrValue,
        destination: plan.physicalLocation.locationAlias,
        priority: plan.priority
    };
}

Я ожидаю, что map(planRoutes => planRoutes.map(this.mapSortPlans)) сможет запустить функцию mapSortPlans, но она выдаст мне ошибку Property map does not exist on type {}.

1 Ответ

0 голосов
/ 22 января 2019

Не уверен, что это правильный путь, но мне удалось преобразовать planRoutes в массив:

switchMap(data => this._settingsService.getSortPlan(data.plan, data.sorter)),
pluck('sortPlanRoutes'),
map(planRoutes => (planRoutes as Array<any>).map(this.mapSortPlans))

Это избавило от ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...