我已經編寫了如下所示的Angular Service。在解決服務方法的承諾之前,它轉到主要方法的承諾
getPropertyDetailsByUsingApiService.js
(function() {
appModule.service('getPropertyDetailsByUsingApiService', ['$http', function ($http) {
this.propertyDetails = function (token, number, street, county, zip) {
var endpointUrl = 'http://my.com/api/Matcher?Token=';
var url = endpointUrl + token + '&Number=' + number + '&Street=' + street + '&County=' + county + '&Zip=' + zip;
return $http.get(url).then(function (data) {
var result = data;
if (result.data[0].Status == 'OK') {
$http.get(endpointUrl + token + '&Krp=' + result.data[0].Result[0].KRP + '&County=' + county)
.then(function (finalData) {
return finalData;
});
}
});
};
}
]);
})();
這是耗時的方法:
propertyForm.js
//to call Api
vm.callApi = function() {
var county = _.find(vm.counties, function (c) { return c.id == vm.property.countyId; });
var city = _.find(vm.cities, function (c) { return c.id == vm.property.address.cityId; });
getPropertyDetailsByUsingApiService.propertyDetails(vm.getMd5Hashbytes(), vm.property.address.streetNumber, vm.property.address.streetName,
county.name, city.zipCode).then(function (result) {
vm.propertyDetails = result;
});
};
問題:這裏的問題是在解決服務方法的承諾之前,它轉到主要方法的承諾。換句話說,在解決服務方法的第二個承諾之前,它涉及調用方法的承諾。可以告訴我在哪裏問題 ?
我會試試你的解決方案,並會讓你知道。但是你能告訴我爲什麼我的實現不起作用嗎?謝謝。 – Sampath
乾杯....它正在工作我的朋友。非常感謝你。希望你會回答上述問題,當你再次回來。對你有一個美好的一天:) – Sampath