在我的Angular 2应用中,我具有以下后端服务。
getUserInterests() {
return this.http.get('http://localhost:8080/test/selections').map((res: Response) => res.json());
}
调用此服务后,我想在上一个成功的情况下调用另一个服务。
第二次服务
let params: URLSearchParams = new URLSearchParams();
params.set('access_token', localStorage.getItem('access_token'));
return this.http.get('http://localhost:8080/user/selections', { search: params }).map((res: Response) => res.json());
这两个服务分别返回两个JSON数组。然后,我需要使用这两个数组进行一些登录。
已编辑
服务
getUserInterests() {
return this.http.get('http://localhost:8080/test/selections').map((res: Response) => res.json());
}
getSavedSelections() {
let params: URLSearchParams = new URLSearchParams();
params.set('access_token', localStorage.getItem('access_token'));
return this.http.get('http://localhost:8080/interest/user/selections', { search: params }).map((res: Response) => res.json());
}
getSelectionList() {
var obs = this.getUserInterests().flatMap(
(interests) => {
return Observable.forkJoin([
Observable.of(interests),
this.getSavedSelections()
]);
}
);
return obs;
}
然后,我在其他ts文件中使用following来调用服务。
export class InterestsComponent {
private interests;
private saved_interests;
constructor(private dataService: DataService) {
this.dataService.getSelectionList().subscribe(
(result) => {
var interests = result[0];
var selections = result[1];
}
);
}
}
但这会在控制台日志上出现以下错误。
ORIGINAL EXCEPTION: TypeError: this.dataService.getSelectionList is not a function
任何建议表示赞赏。
您需要利用flatMap
操作员在前一个请求完成后调用一个请求:
this.service.getUserInterests().flatMap(
(interests) => {
let params: URLSearchParams = new URLSearchParams();
params.set('access_token', localStorage.getItem('access_token'));
return this.http.get('http://localhost:8080/user/selections', {
search: params
}).map((res: Response) => res.json());
}
);
订阅此数据流时,您只会收到最后一个请求的结果。
您可以使用该Observable.forkJoin
方法返回两者。这是一个示例:
var obs = this.service.getUserInterests().flatMap(
(interests) => {
return Observable.forkJoin([
Observable.of(interests),
this.service.getUserSelections()
]);
}
);
obs.subscribe(
(result) => {
var interests = result[0];
var selections = result[1];
}
);
目录 1.搭建.net开发环境 1.1下载安装iis7.0,下载安装vs2015,配置IIS 1.2下载开发工具 1.3开发工具介绍 1.4设置开发工具 1.5开启服务和打开数据库 2.运行开发案例 2.1设置开发工具的编译路径 2.2编译UI资源 2.3拷贝UI资源到发布路径下 2.4打开IIS启动网页 2.5在开发工具里启动tomcat,运行案例 3.建立数据库和库表 3.1建立数据库 3.2
关于处理程序,我读过,它们不存在很长时间的延迟,并将在系统重新启动后终止。所以他们不适合我的任务。 但是AlarmManager似乎是解决这个问题的一个很好的候选者,因为在允许的情况下,它们甚至在系统重启后仍然存在,并且可以重新运行应用程序。但是在Android文档中,警报管理器是用于必须在特定时间运行的任务(比如闹钟)。但我的任务每分钟都要执行。 然后是后台服务。这是更多的任务,如在后台下载,因
我正在开发一个连接到BLE设备的Android应用程序,设备大部分时间都在连接,我能够捕捉读数。但是在许多连接断开之后,蓝牙打开/关闭,我的类方法 它返回null,因此我无法执行下一步。请帮我找出问题。
目录 1.自定义Action 2.自定义一个php文件 3.php文件接收参数并返回值 4.UI如何调用testerp.service.m服务 5.查看运行结果 参考文档WeX5平台PHP开发 使用说明文档 php如何调用后端服务 1.自定义Action 在服务文件里,点击新增,然后输入名称 点参数列表的新增,新增2个参数,这个两个参数是从前台往后台传的。这样我们服务里就有了3个Action 2.
我想创建一个小应用程序,在后台记录数据。所以我试着用绑定服务。这很好,但如果我关闭应用程序,服务也会停止。< br >那么,我的问题是:使用即时服务来执行这一操作是不是一个好方法?当应用程序关闭时,我如何保持服务在后台运行(我也想在启动后启动它)?
买家如何申请售后服务? 1、功能路径 个人中心-我的订单-已完成-申请售后 2、操作流程 1、进入个人中心,找到订单 2、点击详情,进入订单详情页 3、点击申请售后,填写退款信息 4、提交 流程如下图: 5、买家填写相关处理方式、退款原因、退款金额、备注等信息后提交。 6、商家处理售后申请,打开后台-订单-售后服务 售后服务的列表显示项为商品信息、商品清单、订单金额、收货信息、买家、交易状态、操作