angularjs - How to fail a successful Angular JS $http.get() promise -


how reject or fail successful $http.get() promise? when receive data, run validator against , if data doesn't have required properties want reject request. know can after promise resolved, seems idea intercept errors possible. i'm familiar benefits of $q, want continue using $http.

you can reject promise returning $q.reject("reason") next chained .then.

same $http, returns promise - follows:

return $http.get("data.json").then(function(response){   if (response.data === "something don't like") {     return $q.reject("bad data");   }   return response.data; } 

this done within service, pre-handles response .then specified above, , returns data - or rejection.

if want @ app-level, use $http interceptors - service provides functions handle $http requests , responses, , allows intercept response , return either response - same or modified - or promise of response, including rejection.

.factory("foointerceptor", function($q){   return {     response: function(response){       if (response.data === "something don't like") {         return $q.reject("bad data");       }       return response;     }   } }); 

same idea above - except, @ different level.

note, register interceptor, need within .config:

$httpprovider.interceptors.push("foointerceptor"); 

Comments

Popular posts from this blog

c++ - Delete matches in OpenCV (Keypoints and descriptors) -

java - Could not locate OpenAL library -

sorting - opencl Bitonic sort with 64 bits keys -