私はこのリソースを持っています:
myModule.factory('MyResource', ['$resource', 'geoLocationService', function ($resource, geoLocationService ) {
return $resource('/blabla', {}, {
'getData': { method: 'GET', params: { city: geoLocationService.getMyCity() } }
});
}]);
問題は、 を呼び出すMyResource.getData()
までに、geoLocationService が場所を取得していないことです。
geoLocationService には、呼び出しを許可する約束があります
geoLocationService.promise.then(...)
しかし、この約束をリソースと統合する方法がわかりません。何か案が?
編集 私は次のようなものを探しています:
myModule.factory('MyResource', ['$resource', 'geoLocationService', function ($resource, geoLocationService ) {
return $resource('/blabla', {}, {
'getData': { method: 'GET', beforeFetchPromise: geoLocationService.promise, { city: geoLocationService.getMyCity() } }
});
}]);
そのため、geoLocationService.promise が解決または拒否された場合にのみ、パラメーターを使用した ajax 呼び出しが発生します。