Javascript 我可以在return语句中使用$angular timeout吗?
我使用的是Parse数据,但交易是,我想返回变量ParseUserArray,但就在它通过成功承诺之后。我想知道我该怎么做Javascript 我可以在return语句中使用$angular timeout吗?,javascript,angularjs,Javascript,Angularjs,我使用的是Parse数据,但交易是,我想返回变量ParseUserArray,但就在它通过成功承诺之后。我想知道我该怎么做 var UserWs = angular.module('UserWs', []); UserWs.service('UserWsService', ['parseInit', function(parseInit){ var service = this; this.getUserAtParse = function(id
var UserWs = angular.module('UserWs', []);
UserWs.service('UserWsService', ['parseInit', function(parseInit){
var service = this;
this.getUserAtParse = function(id){
var user = Parse.Object.extend("User");
var query = new Parse.Query(user);
var parseUserArray = [];
query.find({
success: function(anUser) {
for (var i = 0; i < anUser.length; i++) {
var newUser = new User(anUser[i]);
parseUserArray.push(newUser);
}
console.log(parseUserArray);
}
});
var User =function(anUser){
this.id = anUser.id;
this.name = anUser.get("name");
this.email = anUser.get("username");
this.company = anUser.get("company");
}
return parseUserArray;
};
var UserWs=angular.module('UserWs',[]);
UserWs.service('UserWsService',['parseInit',函数(parseInit){
var服务=这个;
this.getUserAtParse=函数(id){
var user=Parse.Object.extend(“用户”);
var query=newparse.query(用户);
var parseUserArray=[];
查询.查找({
成功:功能(anUser){
对于(变量i=0;i提前感谢:)您可以使用
promise
获得此-$q
服务
var UserWs = angular.module('UserWs', []);
UserWs.service('UserWsService', ['$q', 'parseInit', function($q, parseInit) {
var service = this;
this.getUserAtParse = function(id) {
var defer = $q.defer();
var user = Parse.Object.extend("User");
var query = new Parse.Query(user);
var parseUserArray = [];
query.find({
success: function(anUser) {
for (var i = 0; i < anUser.length; i++) {
var newUser = new User(anUser[i]);
parseUserArray.push(newUser);
}
console.log(parseUserArray);
defer.resolve(parseUserArray);
}
});
var User = function(anUser) {
this.id = anUser.id;
this.name = anUser.get("name");
this.email = anUser.get("username");
this.company = anUser.get("company");
}
return defer.promise;
}
}]);
UserWs.controller('sampleCtrl', ['$scope', 'UserWsService', function($scope, UserWsService) {
UserWsService.getUserAtParse(SOME_ID).then(function(resultArray) {
//logic here
});
}]);
var UserWs=angular.module('UserWs',[]);
UserWs.service('UserWsService',['$q','parseInit',function($q,parseInit){
var服务=这个;
this.getUserAtParse=函数(id){
var defer=$q.defer();
var user=Parse.Object.extend(“用户”);
var query=newparse.query(用户);
var parseUserArray=[];
查询.查找({
成功:功能(anUser){
对于(变量i=0;ipromise
进行此-$q
服务
var UserWs = angular.module('UserWs', []);
UserWs.service('UserWsService', ['$q', 'parseInit', function($q, parseInit) {
var service = this;
this.getUserAtParse = function(id) {
var defer = $q.defer();
var user = Parse.Object.extend("User");
var query = new Parse.Query(user);
var parseUserArray = [];
query.find({
success: function(anUser) {
for (var i = 0; i < anUser.length; i++) {
var newUser = new User(anUser[i]);
parseUserArray.push(newUser);
}
console.log(parseUserArray);
defer.resolve(parseUserArray);
}
});
var User = function(anUser) {
this.id = anUser.id;
this.name = anUser.get("name");
this.email = anUser.get("username");
this.company = anUser.get("company");
}
return defer.promise;
}
}]);
UserWs.controller('sampleCtrl', ['$scope', 'UserWsService', function($scope, UserWsService) {
UserWsService.getUserAtParse(SOME_ID).then(function(resultArray) {
//logic here
});
}]);
var UserWs=angular.module('UserWs',[]);
UserWs.service('UserWsService',['$q','parseInit',function($q,parseInit){
var服务=这个;
this.getUserAtParse=函数(id){
var defer=$q.defer();
var user=Parse.Object.extend(“用户”);
var query=newparse.query(用户);
var parseUserArray=[];
查询.查找({
成功:功能(anUser){
对于(变量i=0;iUserWsService.getUserAtParse
内部$timeout
?我认为这不会起作用,因为我想函数启动需要更长时间,但内部将是相同的,但我不知道,我会尝试!谢谢:)但我没有使用Ajax为什么不将调用包装到 UserWsService.getUserAtParse
inside$timeout
?我不认为这会起作用,因为我想函数需要更长的时间才能启动,但inside会是一样的,但我不知道,我会试试!谢谢:)我真的不知道这个存在哈哈哈,我会看看文档,然后再试试你的解决方案!谢谢我真的不知道这个存在哈哈哈,我会看一看文档并尝试你的解决方案!谢谢