У меня есть этот ресурс:angularjs интегрировать обещающий с ресурсом
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(...)
Но я не знаю, как я могу интегрировать это обещание с ресурсом. Есть идеи?
EDIT Я ищу что-то вроде:
myModule.factory('MyResource', ['$resource', 'geoLocationService', function ($resource, geoLocationService) {
return $resource('/blabla', {}, {
'getData': { method: 'GET', beforeFetchPromise: geoLocationService.promise, { city: geoLocationService.getMyCity() } }
});
}]);
Таким образом, только когда geoLocationService.promise разрешен или отклонен, Аякса вызов с параметрами будет происходить.
Любое обновление по этой проблеме? –