gpt4 book ai didi

javascript - 修复 http get 请求 angularJS 时的竞争条件

转载 作者:行者123 更新时间:2023-11-28 15:11:21 25 4
gpt4 key购买 nike

我有以下函数,它检查用户是否输入了正确的密码和用户名。该功能正确,但该函数在触发成功/错误函数之前返回。

因此函数总是返回 true,那么让函数返回正确值的最佳方法是什么。

angular.module('services.security', [])
.provider('securityService', function() {



this.$get = function ($q, $location, $rootScope, $window, $injector) {
...
loginCheck: function(username, password) {
var failed = true;

$injector.get('$http').post(AUTH_URL,
{username: username, password: password}, {loginType: "cancel"}
).success(function loginSuccess(data) {

failed = false;

}).error(function loginFailure(data, status) {

failed = true;

});

return failed;
},

最佳答案

你会想要返回 promise 。所以你可以返回你的http调用:

返回 $http("...");

在您的代码中,您可以使用返回的 promise 来检查它是否成功:

loginCheck(u, p).then(function() {
//success
}, function() {
// error
});

关于javascript - 修复 http get 请求 angularJS 时的竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36332784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com