在Angular 2中,Http在自定义异步验证中不起作用的原因可能是由于以下几个方面:
- 异步验证的实现方式不正确:在Angular 2中,可以使用Reactive Forms来实现自定义异步验证。在这种情况下,你需要使用FormControl对象来处理表单控件,并使用AsyncValidatorFn来执行异步验证。确保你正确地设置了FormControl和AsyncValidatorFn,并将它们与表单控件绑定。
- Http模块未正确导入:在Angular 2中,Http模块是用于进行HTTP请求的核心模块。确保你在使用Http之前正确地导入了Http模块,并将其添加到你的模块的imports数组中。
- 依赖注入问题:在Angular 2中,你需要通过依赖注入来获取Http服务的实例。确保你已经正确地注入了Http服务,并在使用它之前获取了实例。
- 异步验证的回调函数未正确处理:在自定义异步验证中,你需要提供一个回调函数来处理异步验证的结果。确保你正确地处理了回调函数,并根据验证结果更新表单控件的状态。