繁体   English   中英

“结果”在从nativescript / angular中的http.get请求获得的Observable的.map运算符中是什么意思

[英]What does “Result” means in a .map operator of an Observable obtained from an http.get request in nativescript/angular

我正在做nativescript / angular教程,但是我在代码中发现了一些我不理解的东西,需要澄清一下。

在第4章(Nativescript模块)中,当他们执行http.get resquest来检索食品杂货列表并获得Observable时,我注意到它是通过某些maps运算符传递的,下面是代码:

import { Injectable } from "@angular/core";
import { Http, Headers } from "@angular/http";
import { Observable } from "rxjs/Rx";
import "rxjs/add/operator/map";

import { Config } from "../config";
import { Grocery } from "./grocery";

@Injectable()
export class GroceryListService {
  constructor(private http: Http) {}

  load() {
    let headers = new Headers();
    headers.append("Authorization", "Bearer " + Config.token);

    return this.http.get(Config.apiUrl + "Groceries", {
      headers: headers
    })
    .map(res => res.json())
    .map(data => {
      let groceryList = [];
      data.Result.forEach((grocery) => { //<------HERE
        groceryList.push(new Grocery(grocery.Id, grocery.Name));
      });
      return groceryList;
    })
    .catch(this.handleErrors);
  }

  handleErrors(error: Response) {
    console.log(JSON.stringify(error.json()));
    return Observable.throw(error);
  }
}

我的问题是,第二个.map中的“结果”是什么意思

为什么他们不简单地把

data.forEach((grocery) => {

我问是因为我不确定这是否是从.map(res => res.json)观察到的结果的对象属性。

您能否指出一些有关“结果”来自何处以及其含义的文档?

感谢您腾空。

首先,这行.map(res => res.json())将响应主体解析为json对象。 然后,第二个map允许在data参数下访问此json对象。 由表示的JSON对象data实际上是使用周围的实际响应结果数据的包装Result作为映射到从下面这个安全提醒后端返回的数据的密钥该处 因此data.Result只是映射到后端返回的实际数据的键。 后端可能为密钥使用了其他名称,例如secret,那么您将执行data.secret来获取从服务器返回的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM