"Result"在从 nativescript/angular 中的 http.get 请求中获得的可观察量的 .map 运算符中是什么意思



我正在执行Nativecript/Angular教程,我在代码中发现了一些我不了解的东西,并且想要一些澄清。

在第4章(nativescript模块(进行http时,请重新恢复杂货列表,并且它们得到可观察到的可观察到的,我注意到它通过一些地图操作员传递,这是代码:

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 =&gt; res.json(或其他内容的可观察到的对象属性。

您能指出我关于"结果"的一些文件。来自什么意思?

首先,此行.map(res => res.json())将响应主体解析为JSON对象。然后,第二个map允许在data参数下访问此JSON对象。data代表的JSON对象实际上是使用Result围绕实际响应结果数据的包装器,因为将键映射到从后端返回的数据映射到此安全性建议。因此,data.Result只是映射到从后端返回的实际数据的键。后端可以使用其他名称的钥匙,例如秘密,然后您将进行data.secret以获取从服务器返回的数据

最新更新