के साथ कोणीय जेएस में एक वादा घोषित करना मैं $ http सेवा के समान कुछ करने की कोशिश कर रहा हूं। मेरी समझ से $ http एक वादा वस्तु वापस।नामांकित सफलता/त्रुटि कॉलबैक
जब यह सिंटैक्स का उपयोग है:
$http(...).success(function(data)) {
//success callback
}).error(function(data)) {
//error callback
})
मैं सिर्फ एक ही है लेकिन विचार करना मेरी एपीआई GetUserProfile है चाहते हैं, तो मैं वाक्य रचना करना चाहते हैं:
GetUserProfile(...).success(function(data) {
// success callback
}).error(function(data)) {
// error callback
})
कैसे कर सकते हैं मैं एक वादा का उपयोग कर पूरा करता हूँ?
function GetUserProfile() {
var deferred = $q.defer();
var promise = deferred.promise;
// success condition
if (!true) {
deferred.resolve('data');
// error condition
} else {
deferred.reject('error');
}
promise.success = function(fn) {
promise.then(fn);
return promise;
}
promise.error = function(fn) {
promise.then(null, fn);
return promise;
}
return promise;
}
GetUserProfile()
.success(function(data) {
console.log(data);
})
.error(function(error) {
console.error(error);
});
आप एक बार देख ले सकता है कैसे लागू करता (https [इस '$ http' में] Angular.js पर:। // GitHub .com/कोणीय/Angular.js/ब्लॉब/v1.2.0-rc.3/src/एनजी/http.js # L701)। – TheHippo