我的角度项目中有一个页面,其中有一个带有提交按钮的处方集,用于将客户端数据发送到我的数据库,但在发送数据后,我想从客户端表中删除客户端并将其信息插入另一个表。问题是客户端第一次插入使用表中的客户端ID我删除他的数据。它同时发生,因为它们都在同一个按钮点击事件中。我应该怎样才能使删除函数调用等到插入一个部署?
这是提交和删除的按钮
<button ion-button full block color="danger"(click)="postDados(form.controls.itemRows);postNeurosensi(formsensi.controls.itemRows3);postEletroneuro(form2.controls.itemRows2);deletaDados()">Enviar</button>
这是Page.TS文件中的功能。
postEletroneuro(req){
this.service.postEletroneuro(req.value)
.subscribe(
data => console.log(data.message),
err => console.log(err)
);
}
deletaDados(){
this.service.deleteData(this.parametroid).subscribe(
data => {
console.log(data.message);
this.getDados();
}
,
err => console.log(err)
);
}
现在service.ts功能
postEletroneuro(params){
let headers = new Headers();
headers.append('Content-type','application/json');
return this.http.post(`${this.api}eletroneuro/`,params,{
headers: headers
}).map(
(res:Response) => {return res.json();}
);
}
deleteData(id){
console.log(`${this.api}${id}`)
let headers = new Headers();
headers.append('Content-type','application/json');
return this.http.post(`${this.api}fichasdia/${id}/`,id,{
headers: headers
}).map(
(res:Response) => {return res.json();}
);
}
有什么想法吗?
答案 0 :(得分:0)
postEletroneuro(req){
this.service.postEletroneuro(req.value)
.subscribe(
data => {
console.log(data.message);
deletaDados();
},
err => console.log(err)
);
}
deletaDados(){
this.service.deleteData(this.parametroid).subscribe(
data => {
console.log(data.message);
this.getDados();
}
,
err => console.log(err)
);
}
并致电(没有deletaDados):
<button ion-button full block color="danger"(click)="postDados(form.controls.itemRows);postNeurosensi(formsensi.controls.itemRows3);postEletroneuro(form2.controls.itemRows2);">Enviar</button>
答案 1 :(得分:0)
从click事件中删除deletaDados并在订阅中调用
postEletroneuro(req){
this.service.postEletroneuro(req.value)
.subscribe(
data => {
console.log(data.message);
this.deletaDados();},
err => console.log(err)
); }
答案 2 :(得分:0)
试试这样:
<button ion-button full block color="danger" (click)="postEletroneuro(form2.controls.itemRows2)">Enviar</button>
<强> component.ts 强>
postEletroneuro(req) {
this.service.postEletroneuro(req.value)
.flatMap((data) => {
console.log("data", data);
return this.service.deleteData(this.parametroid);
})
.subscribe((deleteRsp) => {
console.log("deleteRsp", deleteRsp);
})
}