json - Angular:使用两种服务从一个组件添加数据时出现问题
问题描述
这个问题与我之前的问题有关。我面临的问题是使用两种服务将数据发送到后端。
我已阅读有关使用 Observables 的 forkJoin 的信息,但我无法将它用于我的问题。
我的add()方法:
add() {
this.employeesService
.createEmployee(this.form.value as Employee)
.subscribe(
employee=> {
console.log(employee);
},
(err: HttpErrorResponse) => {
this.messagesService.openDialog('Error', 'Invalid Employee. Try Again!');
}
);
const resources: any = {};
const employeeId: any = {};
let wholeData: any = [];
function makeArray(resourceNumber, id) {
resources.push(resourceNumber);
for(var i = 0; i < this.resourceNumber.length; i++) {
employeeId.push(id);
}
}
wholeData = new makeArray(this.resourceNumbers, employeeId);
this.resourceNumbersService
.createResourceNumber(wholeData as Resource)
.subscribe(
resourceNumber => {
console.log(resourceNumber);
},
(err: HttpErrorResponse) => {
this.messagesService.openDialog('Error', 'Invalid Resource Number. Try Again!');
}
);
}
这是资源的 Postman Json 格式,在我的后端中运行良好:
{ "resources": [ { "resourceNumber": "121", "employeeId": "3" },
{ "resourceNumber": "122", "employeeId": "3" },
{ "resourceNumber": "123", "employeeId": "3"} ] }
我面临的麻烦是将数据发送到资源数据库。员工被发送完全没问题。有没有更简单的方法?非常感谢。请在Stackblitz上找到问题
解决方案
我已阅读有关使用 Observables 的 forkJoin 的信息,但我无法将它用于我的问题。
所以以下是使用方法forkJoin
import { forkJoin } from 'rxjs'; // RxJS 6 syntax
functionReturningForkJoinOFObservableBatch(): Observable<any[]> {
let observableBatch = [];
observableBatch.push("push all observables ")
return forkJoin(...observableBatch);
}
//subscribe the above function to get response of all observable in single go
//When all observables complete, emit the values
this.functionReturningForkJoinOFObservableBatch().subscribe(responseList => {
});
推荐阅读
- windows - 无法加载流浪机器“mount -t vboxsf -o uid=1000,gid=1000,_netdev vagrant /vagrant”
- php - 如何从 php 中删除 div 类?
- javascript - 如何降低多个 if 语句的复杂性
- form-recognizer - Azure FormRecognizer:如何在 Azure.AI.FormRecognizer.Models 中使用 RecognizedForm.FormType
- wpf - WPF .Net Framwork 应用程序 - 主菜单下拉菜单在鼠标悬停时立即消失
- java - 如何通过 JPA 查询按子类实体值获取父实体?
- python-3.x - 检测 numpy 数组中的“大”变化
- acumatica - 如何捕捉“保存”事件和刷新过滤器表单
- routes - NextJS:没有语言环境名称的 i18n 子路径路由
- android - React Native Android Development - Windows Webstorm 上的任务“:app:compileDebugJavaWithJavac”执行失败