通过调用执行以下操作的函数激活我的控制器:
这个逻辑很复杂,但是根据服务器的当前架构,我只能将它们链接在一起并且一步一步,因为在得到汽车信息之前我不知道车里有谁。我们没有在服务器上设置任何过滤器,所以我们一次只能找到一个对象。
我想将此逻辑移至工厂,服务或提供商。在初始化控制器时,应该可以通过注入访问服务中存储的数据。
有没有人有这样的问题经验,并找到了一个很好的解决方案?如果做出所有这些请求后,我将如何返回一个解析的承诺,即使它们是嵌套循环?
答案 0 :(得分:0)
我目前使用的答案如下:
从控制器我调用汽车服务中的功能。该函数getFullCar()
看起来像:
function getFullCar(id) {
var defer = $q.defer(); // set up promise
Car.get(id).then(carSuccess, carError);
return defer.promise; // promise that is being returned
... // more nested get requests
// after every load I call a function checkLoaded()
function checkLoaded() {
if (//check variables are loaded) {
defer.resolve(// data to retun);
}
}
}