{"id":690,"date":"2023-11-08T10:53:50","date_gmt":"2023-11-08T16:53:50","guid":{"rendered":"https:\/\/kop.lat\/blog\/?p=690"},"modified":"2023-11-08T10:55:11","modified_gmt":"2023-11-08T16:55:11","slug":"chaining-calls-of-services-using-pipes-switchmap-in-observables-responses-in-angular","status":"publish","type":"post","link":"https:\/\/kop.lat\/blog\/chaining-calls-of-services-using-pipes-switchmap-in-observables-responses-in-angular\/","title":{"rendered":"Chaining calls of services using pipes, switchMap in observables responses in Angular"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#5E69FF\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-clike\">export class EpisodeComponent {\n\n\n    public episodes: number[] = [];\n    public episodeData?: Episode | null;\n    public charactersData?: Character[] | null = [];\n\n    constructor(private _service: RmserviceService) {\n        for (let i = 0; i &lt; 51; i++) {\n            this.episodes.push(i + 1);\n        }\n    }\n\n    getDataFromEpisode(q: number): void {\n        let charsTemp: number[];\n        this._service.getEpisodeData(q)\n            .pipe(\n                switchMap(episode => {\n                    this.episodeData = episode;\n                    charsTemp = this._service.extractIdsFromLinks(episode!.characters);\n                    return this._service.getCharactersData(charsTemp);\n                })\n            )\n            .subscribe(cd => {\n                this.charactersData = cd;\n            });\n    }\n}<\/code><\/pre><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":462,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[109,101,35,49,40],"tags":[102,103,105,63],"_links":{"self":[{"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/posts\/690"}],"collection":[{"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/comments?post=690"}],"version-history":[{"count":3,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions"}],"predecessor-version":[{"id":693,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions\/693"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/media\/462"}],"wp:attachment":[{"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/categories?post=690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kop.lat\/blog\/wp-json\/wp\/v2\/tags?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}