【发布时间】:2020-06-19 19:09:53
【问题描述】:
我正在尝试获取组件中发布响应的布尔结果。我检查了 api,它产生了正确的响应(真/假),data 有 appr。值,但我无法在其他组件中使用此值。
我在存储库/服务类中有这个功能:
validateSenderName(name: string) {
this.http.post<boolean>("api/senders/validateSenderName/" + name, null).subscribe(data => { return data; });
}
然后我在一个组件中调用这个函数:
checkSenderName = (params) => new Promise((resolve) => { resolve(this.repo.validateSenderName(params.value)); });
如何解决?
编辑:
感谢迈克尔,我成功了:
checkSenderName = (params) => new Promise((resolve) => {
this.repo.validateSenderName(params.value).subscribe(data => { this.nameAlreadyExists = data; });
resolve(this.nameAlreadyExists);
});
【问题讨论】:
-
您不能在订阅中返回。您必须返回 http observable 本身。也不确定承诺在那里做什么。