resolve方法中的一個變量具有另一個變量的依賴關係,可以在resolve方法中的變量之間共享相同的promise嗎?
似乎$ route.current.locals存儲解析的變量,但是當處理var2時,$ route.current.locals爲空,因爲var1尚未解析。什麼我想是這樣的:
$routeProvider.when('/report/:ruleId', { resolve: {
var1: ['$route', 'service', function ($route, service) {
return service.getRequest();
}],
var2: ['$route', 'service', function ($route, service) {
return service.getAnotherRequest($route.current.locals.var1.id);
}]
}});
您需要使用$ q.all [請參閱文檔](https://docs.angularjs.org/api/ng/service/$q)並將結果放入一個對象{var1:value,var2: value} – 2014-09-02 14:55:56
somePromise在var1的範圍內創建,var2使用somePromise的解析數據。我更新了代碼。 – 2014-09-02 15:02:40
然後使用.then()。 (這也應該全部在服務中完成) – 2014-09-02 15:06:22