【发布时间】:2018-06-21 20:31:46
【问题描述】:
我正在使用 Ionic 创建一个新的注册表单,并使用 ASP.Net(C#) 作为我的 API。
我想在输入模糊事件激活时检查用户是否存在。
问题是我的代码没有等到服务器返回一个值才能继续。 我究竟做错了什么?有没有办法做到这一点?
这是我的 API 代码:
[HttpGet]
public JsonResult verifyEmail(string email)
{
var result = Domain.Repository.UserController.Find(email:email);
if (result != null)
{
return Json(new { erro = true, message = "Email already registered!" }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { erro=false,message = "Email is valid!" },JsonRequestBehavior.AllowGet);
}
}
我创建了一个提供者来发出 HTTP 请求(authProvider):
getData(data,func)
{
return new Promise( (resolve,reject)=>{
this.http.get(apiUrl+func, {params:data})
.subscribe(
res=>{
resolve(res.json());
},
async (err)=>{
reject(err);
});
});
}
这是我的 register.ts 代码:
validate()
{
let validEmail;
validEmail= this.checkEmail();// I WANT THAT the "validEmail" receives returned value before continue.
return true;
}
最后一件事是我的函数将调用提供者:
checkEmail()
{
return this.authService.getData({email:this.model.email},"Account/verifyEmail").then((result)=>{
let response = <any>{};
response=result;
if(response.erro)
{
return response.message
}else
{
return true
}
},(err)=>{
this.toastService.presentToast("ERROR:"+err,"bottom",undefined,"toast-error");
});
}
提前谢谢..
【问题讨论】:
-
这是打字稿还是js?
-
@misha130 没关系。
-
你好 misha 这是打字稿
-
@LazarLjubenović 编写 C# 的人可能喜欢使用 async/await。这就是我问的原因
-
你是如何使用
validate()的?
标签: json angular asp.net-web-api promise ionic3