我的AngularJS代码有问题。我做了一个代码登录,但我需要验证当前用户是否已经存在于数据库通过电子邮件。我想向数据库提出两个请求。(两个$http)。一个获取数据库中的此电子邮件的用户数量,以验证这是否与零不同,其他插入数据库中,如果与电子邮件的用户数量为零,但我遇到了一个问题。请看我的代码:
I made a service to verify the user email in database
此代码运行,但警报的调用是错误的。首先调用alert(“test 2”),然后调用alert(“test1”),但我首先验证。
对不起,我刚刚在学Angular 。这是我的问题!谢谢你,谢谢
3条答案
按热度按时间flseospp1#
您需要将第二个服务器请求移动到.then()处理程序中。当前的代码只是几乎并行地执行两个服务器请求,因为它们的异步特性。
你要找的是更接近这个。。
字符串
bjp0bcyl2#
很好。谢谢,但我还是有问题。我需要我的函数停止运行在“返回假”代码。举例来说:
我看到我的代码在第二个选项中运行。首先,它将新用户保存在数据库中,其次是进行验证。如果Angular 是异步的,我该怎么做来提出两个顺序的请求?
我在等待;)
bf1o4zei3#
这很正常,对
.then()
的调用是异步的,所以在代码中,当调用.then()
时,您调用了API并继续执行代码,这就是为什么它首先显示“test2”。尝试将
alert("test2")
放在$location.path(...)
之前当用户不存在时,您需要将对第二个请求的调用放在第一个
.then()
中