围绕ajax调用创建包装函数

时间:2014-03-17 10:29:34

标签: ajax angularjs promise

我想在AngularJS中创建一个包含我的API调用的包装器,如

function MakeCall (url){
$http.get(url, config).success(successfunction);

return response;
}

您能帮助我等待电话完成并从通话中获得最终回复。在上面的代码中,“返回响应”是我想在完成调用后得到的。此功能将像

一样使用
response = MakeCall("to some url");

1 个答案:

答案 0 :(得分:1)

response = MakeCall("to some url");

这不是承诺如何运作的。你cannot synchronously return the result of an ajax call

您似乎想要返回$http.get()已经从您的函数中产生的承诺:

function MakeCall (url){
    return $http.get(url, config).success(successfunction);
}

然后像这样使用它:

MakeCall("to some url").then(function(response) {
    …
});