isUnameTaken(formCtrl:FormControl): Promise<any>|Observable<any>{
var status ;
console.log(this.formGroup);
this.http.post("http://localhost:3000/user/isAvaliable", { userName: formCtrl.value}).subscribe((resp:any)=>{
console.log(resp);
status = resp.status;
console.log(status);
if (status === 'success') {
return Promise.resolve({ userExists: true });
} else {
return Promise.resolve(null);
}
});
}
我收到的状态为undefined,因为发布请求需要花费一些时间来解决,因此我尝试使用Promise.resolve返回Promise。 那么如何以适当的方式等待响应
以上功能为角度验证器功能
答案 0 :(得分:1)
您可以使用Observable
的{{1}}函数来转换map
发出的值,如下所示:
Observable