将 addl 参数传递给 angularjs promise

Pass addl parameter to angularjs promise

        var doLogin = function(username, password) {
            var request = $http({
                method: "get",
                url: 'api/login',
                params: {},
                data: {}
            });

            return request.then(success, error);
        }

        function success(response, username) { ... }

如果我删除用户名作为 success() 方法的参数,响应将传递给 success(),并且一切正常。对于这个特定实例,我还需要将用户名(传递到 doLogin)传递给 http 成功回调函数。但是,promise 只引用函数。如何将用户名传递给 fn success()?

您可以传递一个匿名函数作为成功回调:

return request.then(function(data) {
    success(data, username);
}, error);