【发布时间】:2014-12-03 12:35:45
【问题描述】:
我正在学习 Angular,但无法理解某个观点。我想从我的服务器获取数据。我使用了这段代码(来自 Angular 的文档):
this.myFunction = new function()
{
var uri = this.getServerUri() + "Connexion/"+login+"/"+CryptoJS.MD5(pass);
var promises = $http.get(uri)
.success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
//alert("success:"+JSON.stringify(data));
return data;
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
return "";
});
return promises;
};
但我不理解成功函数的行为。当我调用这个函数时,它工作正常,我得到了服务器的答案,但我得到了完整的 Promise 对象(我必须编写“promises.data”来获取我的数据)。你能解释一下为什么吗?因为在成功函数中我试图只返回数据。
编辑:我忘了添加我的调用函数:
var serverAccepted = this.MyFunction().then(function(promise) {
var objet = promise.data;
if(!_.isEmpty(objet))
{
userService.setUser(objet, true);
return "";
}
else return "Error while trying to login on the server";
});
return serverAccepted;
谢谢
【问题讨论】:
标签: javascript angularjs