【发布时间】:2020-11-16 19:55:49
【问题描述】:
在输入电子邮件表单时,异步验证器每次都会向 JSON 发送请求。它检查现有的电子邮件,以输入每个字母。如何调用服务器并检查一次,而不是每个字母?
isEmailExist(): AsyncValidatorFn {
return (control: AbstractControl): Observable<any> => {
return this.usersService.getUserByEmail(control.value).pipe(
debounceTime(2000),
map(users => {
if (users.some(user => user.email.toLowerCase() === control.value.toLowerCase())) {
return { isExist: true };
} else {
return null;
}
})
)
}
}
【问题讨论】:
-
你的问题是什么?
标签: javascript angular typescript rxjs debounce