Angular 2一次多次http调用

时间:2017-05-18 12:53:59

标签: angular typescript

下面我使用API​​通过Observable从服务器获取国家/地区区域,并将国家/地区代码保存到 sessionStorage()

let options = new RequestOptions({ headers: this.headers });
      return this.http.get(this.backendUrl + pathName, options)
                  .map((res: Response) => {
                        return res.json();
                    })
                  .catch(e => {
                      if (e.status === 401) {
                          this.router.navigateByUrl('/error');
                          return Observable.throw('Unauthorized');
                      }
                 });

及以下是我的另一个代码,我想在发布请求中使用存储在 sessionStorage()中的国家/地区代码:

let options = new RequestOptions({ headers: this.headers });
      body_val['hash_value'] = root.hashValue;
      body_val['region'] = <!-- Region -->;
      body_val['client_id'] = 'ABC';
      body_val['users_id'] = this.users_id;
      if (localStorage.getItem('userdata'))  {
          let user = JSON.parse(localStorage.getItem('userdata'));
          body_val['users_id'] = user.userdata.id;
          body_val['userid'] = user.userdata.id;
      }

      return this.http.post(root.apiUrl + pathName, body_val , options)
                   .map((res: Response) => {
                        return res.json();
                    })
                   .catch(e => {
                      if (e.code === 404) {
                           this.router.navigateByUrl('/error');
                           return Observable.throw('Unauthorized');
                      }
                   });

第一次加载页面时,我收到 null ,但第二次加载页面时,我可以获得 sessionStorage的值( )。如何实现第一个API调用数据是第二个API和第一页加载。

0 个答案:

没有答案