- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 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数组。然后我需要使用这两个数组进行一些登录。
已编辑
service.ts
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 文件中使用以下内容来调用该服务。
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];
}
);
关于javascript - Angular 2 : Two backend service calls on success of first service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732873/
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-policies
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-policies
首先,我是 django/python 的新手。 我正在尝试创建一个登录网站,允许用户注册一个帐户并通过电子邮件或直接登录验证 通过 fb 或 google(Oauth) 当我点击发送到 email
我正在ubuntu服务器上部署Django Web应用程序。配置已设置。但是,以某种方式,它显示了500 Internal Server Error。我检查了apache错误日志,发现以下错误条目:
我是深度学习的初学者,在执行实际作业时,在 keras.backend 上看到了 Keras 文档. 我解释了很多遍。但是,我不能完全理解 max 和 argmax 函数之间的区别。 最佳答案 我将使
我的后端作业基于 cron 作业(每 4 小时一次)运行。但它在没有处理数据的情况下终止。服务器日志显示如下: 500 15377121ms 0kb instance=0 AppEngine-Goog
django.db.backends.dummy 和 django.db.backends.mysql 有什么区别?我发现有人使用dummy和mysql,但我搜索后不知道它们的区别。 最佳答案 dja
我注意到 tf.keras.backend.get_session() 和 keras.backend.get_session() 返回不同的 session 对象。 无论如何要确保它们返回相同的对象
如果一个 gis 应用程序有一些没有 gis 相关列的表,使用多个数据库(django.db.backends.postgresql_psycopg2 和 django.contrib.gis.db.
I have a question about Ariflow oracle connection. I tried a lot but couldn't find a solution, I
django_redis导入失败 six来自 django.utils 追溯: Internal Server Error: /harem/reponse/ Traceback (most recen
我想运行 python 文件。但我在运行时可以检查到这个错误。 导入错误:pycurl:libcurl 链接时 ssl 后端 (openssl) 与编译时 ssl 后端(无/其他)不同 我的系统是Ma
我正在尝试实现自定义损失函数 def lossFunction(self,y_true,y_pred): maxi=K.argmax(y_true) return K.mean((
当我的神经网络的 forward 函数(训练阶段完成后)正在执行时,我遇到了 RuntimeError: Expected object of backend CUDA but got backend
我从头开始创建了一个Kotlin原生应用程序,我得到了上面的错误。我怎么才能解决这个问题呢?这是一款简单的“Hello World”应用程序。我有其他计算机,但该错误没有出现在那里。我认为这与科南没有
我目前正在学习 Redux,我发现拥有一个状态真实来源有很大好处。我想知道后端是否也可以从状态管理中受益,但我在网上看不到任何相关信息,所以我认为不会。虽然我找到了this这似乎实际上是为了将 red
我有一个 TYPO3 网站,其中默认网站语言是德语。不久前,我添加了另一种网站语言,即英语。 我现在需要做的是在后端交换这两种语言: 从: 默认:德语 替代:英语 到: 默认:英语 替代:德语 所以在
客户端渲染和服务器端渲染有什么区别。他们听起来有点相似。我参加了一个网络研讨会,那里的开发人员说为客户端做这个,为服务器端做这个。两者有什么区别吗? 最佳答案 嗯,客户端意味着服务器向客户端发送一些结
目前我正在使用 Dialogflow 处理 LINE 应用程序中来自用户的消息。 我计划将 Dialogflow 与自定义后端实现集成。 fulfillment 应该有一些特定于用户的消息(例如每个用
我已经在本地环境中为这个问题苦苦挣扎了一段时间了。我一直到处寻找许多不同的解决方案。 设置:我在配置文件中创建一个后端,该后端指向没有缓存(通过)的外部网站。 行为:随机地,后端连接关闭,并显示消息“
我是一名优秀的程序员,十分优秀!