【发布时间】:2014-12-10 17:25:04
【问题描述】:
我有一个处理用户身份验证的 Hprose 服务器。我正在尝试编写一个 logonService,它在用户登录后返回一个 UserInfo 对象。在下面的代码中,hprose.HttpClient.login() 被异步调用,它需要几秒钟,但控制器中的代码在创建 logonService 实例后继续运行。这样 $scope.user 始终为空,并且 logonService.logon() 永远不会被调用。我尝试使用 $http.get,但无法弄清楚如何使用 Hprose 获取 Promise obj,而不是示例代码中的 Http。在 Google 中搜索并没有提供任何有用的信息。有人知道该怎么做吗?谢谢。
var app = angular.module("myApp",[])
.service("logonService", function() {
var httpclient = new hprose.HttpClient("http://testurl.com:4800/webapi/", ["login"]);
httpclient.login("userid", "ppt", function(sid) {
console.log("sid1="+sid);
}
this.logon = function() {
console.log("here I am");
return something;
}
})
.controller("myCtrl", ["logonService", function(logonService) {
var user = logonService.logon();
$scope.user = user;
}
)
【问题讨论】:
标签: javascript angularjs asynchronous promise angular-promise