"Result" 在从 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 请求以检索 Grocery List 并获得 Observable 时,我注意到它是通过一些地图运算符传递的,代码如下:
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 中的“Result”是什么意思
为什么他们不简单地把
data.forEach((grocery) => {
我问是因为我不确定它是从 .map(res => res.json) 得到的可观察结果的对象 属性 还是其他对象。
你能给我指点一些关于“结果”的来源及其含义的文档吗?
首先,这一行.map(res => res.json())
将响应主体解析为json对象。然后第二个 map
允许在 data
参数下访问这个 json 对象。 data
表示的 json 对象实际上是对实际响应结果数据的包装,使用 Result
作为映射到后端返回数据的键,遵循此安全建议 HERE.所以 data.Result
只是映射到从后端返回的实际数据的键。后端可以为密钥使用不同的名称,例如secret,那么你会data.secret
获取服务器返回的数据
我正在学习 nativescript/angular 教程,我在代码中发现了一些我不理解的地方,需要一些说明。
在第 4 章(Nativescript 模块)中,当他们执行 http.get 请求以检索 Grocery List 并获得 Observable 时,我注意到它是通过一些地图运算符传递的,代码如下:
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 中的“Result”是什么意思
为什么他们不简单地把
data.forEach((grocery) => {
我问是因为我不确定它是从 .map(res => res.json) 得到的可观察结果的对象 属性 还是其他对象。
你能给我指点一些关于“结果”的来源及其含义的文档吗?
首先,这一行.map(res => res.json())
将响应主体解析为json对象。然后第二个 map
允许在 data
参数下访问这个 json 对象。 data
表示的 json 对象实际上是对实际响应结果数据的包装,使用 Result
作为映射到后端返回数据的键,遵循此安全建议 HERE.所以 data.Result
只是映射到从后端返回的实际数据的键。后端可以为密钥使用不同的名称,例如secret,那么你会data.secret
获取服务器返回的数据