gpt4 book ai didi

Angular HttpClient 调用被忽略

转载 作者:可可西里 更新时间:2023-11-01 16:25:32 25 4
gpt4 key购买 nike

所以,我有一个 Jhipster 生成的应用程序。

在其中我们有许多在前端和后端都具有“默认”方法的实体

这些方法之一是创建,在本例中为实体 ActivePharmaIng,这是 Angular 服务类中的代码:

create(activePharmaIng: ActivePharmaIng): Observable<ActivePharmaIng> {
const copy = this.convert(activePharmaIng);
return this.http.post(this.resourceUrl, copy).map((res: Response) => {
const jsonResponse = res.json();
return this.convertItemFromServer(jsonResponse);
});
}

所以,这段代码在实体区域中使用时就像一个魅力,但是,当我尝试在模式中重用它时,我从一个函数中调用它,该函数使用(单击)调用,函数的代码:

saveNewApi(api: ActivePharmaIng) {
this.activePharmaIngDTO.api = this.activePharmaIng;
this.activePharmaIngService.create(api);
this.show = false;
}

在第二行我们可以看到对创建的调用,在调试时我看到该函数被无缝调用并且它进入创建函数只是在尝试调用之后直接跳出

我没有任何错误消息的痕迹,没有使用 IntelliJ 进行调试,没有在谷歌开发人员工具栏中,在控制台和网络区域中尝试过,没有一条消息。它只是跳转到下一行,这是一个 bool 值,当设置为 false 时隐藏一些表单的 div:

最佳答案

如果你想让你的调用触发,你必须订阅 observable。此外,您应该可能this.show = false; 移动到可观察对象的回调中。

saveNewApi(api: ActivePharmaIng){
this.activePharmaIngDTO.api = this.activePharmaIng;
this.activePharmaIngService.create(api).subscribe(result => {
this.show = false;
});
}

参见 HttpClient documentation :

Note the subscribe() method. All Observables returned from HttpClient are cold, which is to say that they are blueprints for making requests. Nothing will happen until you call subscribe(), and every such call will make a separate request. For example, this code sends a POST request with the same data twice

关于Angular HttpClient 调用被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48385535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com