我在州内得到了这个决心
首先我将test
变为变量,然后我想获取test2
变量,但为了获得test2
,我必须等待test
试。
有更聪明的方法吗?
谢谢
resolve: {
one: function (test) {
return test.gettest().$promise.then(data => {
return data;
});
},
two: function (test, test2, $stateParams) {
return test.gettest().$promise.then(test=> {
return test2.gettest2(test.id, $stateParams.id).$promise.then(data => {
return data;
});
});
}
},
答案 0 :(得分:4)
如果将第一个解析变量(one
)注入第二个resolve语句,则angular ui路由器足够聪明,可以意识到在第一个解析语句完成之前它不会运行第二个解析语句。所以你会做的事情如下所示:
resolve: {
one: function (test) {
return test.gettest().$promise.then(data => {
return data;
});
},
two: function (one, test2, $stateParams) {
//one is equal to the result of test.gettest()
return test2.gettest2(one.id, $stateParams.id).$promise.then(data => {
return data;
});
});
}
},