RXJS 5 для карты, поймать, бросить конвертировать в 6,5 синтаксис, чтобы получить ответ JSON от бэкэнда - PullRequest
0 голосов
/ 23 мая 2019

эй, я очень близкий, я работаю в команде, я работаю с командой, в которой они используют очень старые игры, и я пытаюсь обновить многие вещи, мой предыдущий rxjs находится в версии 5.4, а сейчасЯ обновляю его до 6,5 карты и ловлю и бросаю больше не принимаю, и я прочитал некоторые статьи также о том, как конвертировать их, но все еще неясно, потому что большинство статей не объясняют, как получить ответ через json ()

вот мой предыдущий синтаксис rxjs 5.4

import { Observable } from "rxjs/Observable";
import "rxjs/add/operator/catch";
import "rxjs/add/operator/map";
import "rxjs/add/observable/throw";

createDataParam(url, data, params) {
    return this.http
      .post(url, data, { params: params })
      .map(response => response.json())
      .catch(this.handleError);
  }

и как его преобразовать в rsjx синтаксис новейшей версии ??

import { Observable } from "rxjs";
import { map } from "rxjs/operators"

я пытался.pipe(map(res => res.json()) ) это не работает, и подвох также

params mean is for token 

Мне очень нравится получать очень простой пример от всех вас, поэтому я постараюсь понять его, я создаю его для метода многократного использования, поэтому яМожно использовать для любого компонента

спасибо, что уже прочитали это, надеюсь, что я могу получить некоторые предложения и помощь здесь:)

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Когда вы используете новые операторы rxjs с командой pipe, вы должны помнить, что они возвращают наблюдаемые, поэтому вы не сможете вернуть объект json с картой.То, что возвращает карта, является наблюдаемым объектом json в вашем примере.Затем вам нужно будет подписаться на него, чтобы получить данные в виде объекта json.

Что касается перехвата, оператор теперь является catchError, если вы хотите использовать его внутри канала.

createDataParam(url, data, params) {
    return this.http
      .post(url, data, { params: params })
      .pipe(
          map(response => response.json()),
          catchError(this.handleError),
       )
       .subscribe(result => result) 
  }
0 голосов
/ 23 мая 2019

Если вы используете угловой HttpClient , вы можете просто подписаться на наблюдаемое.Конвертировать в json автоматически позаботится о самом угловом

createDataParam(url, data, params) {
    return this.http
      .post(url, data, { params: params })
      .pipe(              
          catchError(this.handleError),
       )
       .subscribe(result => result) 
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...