Javascript 获取API响应并同时在另一个调用中使用它(角度)

Javascript 获取API响应并同时在另一个调用中使用它(角度),javascript,angular,Javascript,Angular,我开始学习Angular 4,我认为bungie.net API是一个很好的游戏平台 我在这里试图做的是:当用户输入他们的显示名(玩家代号或psn id)时,他们会得到一个页面内的统计仪表板 我可以通过让他们输入他们的“membershipId”来实现这一点,但显然没有人知道这一点,你需要去bungie.net sie找到你的,而你总是知道你的显示名称 他们的API获得了一个端点以返回成员身份id: 问题是,我不知道如何使用返回的成员身份id,然后通过这个只支持成员身份id而不支持显示名称的端

我开始学习Angular 4,我认为bungie.net API是一个很好的游戏平台

我在这里试图做的是:当用户输入他们的显示名(玩家代号或psn id)时,他们会得到一个页面内的统计仪表板

我可以通过让他们输入他们的“membershipId”来实现这一点,但显然没有人知道这一点,你需要去bungie.net sie找到你的,而你总是知道你的显示名称

他们的API获得了一个端点以返回成员身份id:

问题是,我不知道如何使用返回的成员身份id,然后通过这个只支持成员身份id而不支持显示名称的端点获取统计信息的响应。()

下面是我目前正在使用的一些示例代码(有些是硬编码的,因为我无法实现下面的功能)

服务:

import { Injectable } from '@angular/core';
import { environment } from '../../environments/environment';
import { Http, Response, RequestOptions, Headers } from '@angular/http';
import 'rxjs/add/operator/map';



@Injectable()
export class bungieService {
  private query: string;
  private API_URL_PLAYER_ID: string = environment.BUNGIE_API_URL_PLAYER_ID;
  private URL_PLAYER_ID: string = this.API_URL_PLAYER_ID + '';
  private API_URL_PLAYER_STATS: string = environment.BUNGIE_API_URL_PLAYER_STATS;
  private URL_PLAYER_STATS: string = this.API_URL_PLAYER_STATS;


  constructor (private _http: Http) {}


    getPlayerId(query) {
        let headers: Headers = new Headers();
        var apiKey = "786eefe6a85b4bac9858f71dd4006dc9";
        headers.append("X-API-Key", apiKey);
        let opts: RequestOptions = new RequestOptions();
        opts.headers = headers;
        return this._http.get(this.URL_PLAYER_STATS + '4611686018430120182/' , opts).map(res=> res.json());
    }


}
组件ts(与普通组件略有不同,但searchPlayer功能相同)

组件html:

 <div class="container">

<div class="well"  style="margin-top:5rem;">
    <input class="search" [(ngModel)]="searchQueryPlayer" placeholder="search for data">
    <button (click)="searchPlayers(searchQueryPlayer)" type="button">Find data</button>
    <span>{{ players.Response.data.membershipType }}</span> 
</div>

您如何在组件中订阅getPlayerId谢谢@RahulSingh,忘记添加主ts AHAHH您如何在组件中订阅getPlayerId谢谢@RahulSingh,忘记添加主ts ahah
 <div class="container">

<div class="well"  style="margin-top:5rem;">
    <input class="search" [(ngModel)]="searchQueryPlayer" placeholder="search for data">
    <button (click)="searchPlayers(searchQueryPlayer)" type="button">Find data</button>
    <span>{{ players.Response.data.membershipType }}</span> 
</div>
export const environment = {
  production: false,
  BUNGIE_API_KEY: 'myApiKey',
  BUNGIE_API_URL_PLAYER_ID: 'https://www.bungie.net/Platform/Destiny/2/Stats/GetMembershipIdByDisplayName/',
  BUNGIE_API_URL_PLAYER_STATS: 'https://www.bungie.net/Platform/Destiny/Stats/Account/2/',
};