javascript - web服务被多次调用
问题描述
我有一个被调用 3 次的网络服务,但我不知道为什么?
这是网络服务WLOLBLOK
。我想只调用一次这个网络服务。
文件.service.ts
getInstrumentBlockDetail(portfolioID, svm) {
var payload = {
"HEADER": this.sh.getHeaderForRequest(),
"CUSTOMER": {
"REFERENCE": portfolioID,
"ID": "",
"INTITULE1": "",
"INTITULE2": "",
"ACCESS": 0,
"SERVICE": 0,
"DEFAULTPTF": 0
},
"SVM": svm
}
return this.http.post < any[] > (this.getBaseUrl() + `/WLOLBLOK`, payload);
}
文件.ts
ngOnInit() {
this.svm = this.AR.snapshot.paramMap.get('svm');
this.currentPortfolio = this.shrd.getData('currentPortfolio');
this.pageTitle = "";
this.initiate();
}
getBlocked() {
return this.api.getInstrumentBlockDetail(this.currentPortfolio, this.svm)
.pipe(
map((response: {}) => {
this.prepareDataForBlocked(response);
})
);
}
prepareDataForBlocked(res) {
if (res.RETURNCODE == 'OKK00') {
this.spinners.blockDetails = false;
this.pageTitle = " " + res.BLOCAGES.INFOTITRE.LABEL + " (" + res.BLOCAGES.INFOTITRE.PLACELABEL + ")";
}
}
getBlocage() {
return this.api.getInstrumentBlockDetail(this.currentPortfolio, this.svm)
.pipe(
map((response: {}) => {
this.prepareDataForBlocage(response);
})
);
}
prepareDataForBlocage(response) {
this.spinners.blockDetails = false;
if (response['RETURNCODE'] == "OKK00") {
this.myList = response['BLOCAGES']['BLOCAGE']
.filter(blocage => blocage['QTE'] != 0)
.map(blocage => ({
quantity: blocage['QTE'],
raison: blocage['RAISON_LIB'],
update: blocage['DAT'],
rem1: blocage['REM1'],
rem2: blocage['REM2']
}));
let totalQt = response['BLOCAGES']['QTEBLOQTOT'];
this.statusLine = {
total: totalQt
};
}
}
initiate() {
this.getBlocked().subscribe(res => {
this.spinners.blockDetails = true;
this.getBlocage()
.pipe(
concatMap(res => this.getBlocage()),
).subscribe()
})
}
goBack() {
this.helpers.goBack();
}
请问我该如何解决这个问题?
太感谢了。
解决方案
对 RxJs 运算符使用 share observable。
推荐阅读
- reactjs - React Spring翻译动画不起作用并且单击列表项似乎被延迟
- ios - 如何从 SwiftUI 中的文件应用程序中获取 pdf 文件并将其导入到我在 iOS 上的 iPhone 上的应用程序中
- reactjs - 反应将道具传递给孩子,无法读取未定义的属性“过滤器”
- gtk3 - 如何将 [Del] 键作为 Vala 应用程序中的操作处理?
- python - 如何合并熊猫数据框中的 2 列
- python - 分配之前引用的局部变量“连接”-Python 套接字
- python - MySQL Requests 每次返回相同的结果
- php - 显示我喜欢使用 Laravel 的用户
- python - 无法单击按钮 Shopify/Selenium
- visual-studio-code - 具有多个构建目录的 vscode 的 clangd