gpt4 book ai didi

javascript - 工厂内 promise , promise 完成前返回

转载 作者:行者123 更新时间:2023-11-29 21:31:22 24 4
gpt4 key购买 nike

我有一个工厂,areaFactory,里面有这个:

return {
GetAreas : function(depKey){
var areaPromise = AppService.getArea(depKey);
areaPromise.then(function (Obj){
var areas = Obj['rows'];
var areaList = [];

angular.forEach(areas, function(obj){
areaList.push({
id: obj[0],
name: obj[1]
});
});

return areaList;

});
}
}

当我从 Controller 调用 $scope.areas = AreaFactory.GetAreas(key);$scope.areas 变得未定义,我认为这是因为我的工厂在我的 promise 完成之前返回 undefined

在返回区域列表之前,如何让工厂等到 promise 完成?

最佳答案

从工厂方法返回 promise :

GetAreas : function(depKey){
var areaPromise = AppService.getArea(depKey);
return areaPromise.then(function (Obj){
....
});
}

然后在 Controller 中:

AreaFactory.GetAreas(key).then(function(list){
$scope.areas = list;
});

关于javascript - 工厂内 promise , promise 完成前返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com