Ben, şu şekilde API çağrısı için
getValue: function(input) {
var deferred, url;
deferred = $q.defer();
url = "url";
$http.post(url, input).success(function(data, status, headers, config) {
return deferred.resolve({
success: true,
data: data,
status: status,
headers: headers,
config: config
});
}).error(function(data, status, headers, config) {
return deferred.resolve({
success: false,
data: data,
status: status,
headers: headers,
config: config
});
});
return deferred.promise;
}
bir servis var ama bu zaman uyumsuz olduğunu. Senkronizasyona nasıl dönüştürebilirim (sonuca ulaşana kadar beklemesini istiyorum)? Eğik ile mümkün değildir
Bu, vaatlerin ne için olduğu. İşlemden döndüğünüz sözü kullanarak eyleminizi gerçekleştirin. ör. 'deffered.promise' döndürdüğünüz' .then (function() {/ * eyleminiz * /}) '. Ya da sizin durumunuzda (temelde http yanıtını çözdüğü için, eyleminizi post fn'de gerçekleştirin). – haki
Bunun mümkün değil eşitleme yapmak düşünmek, ANCAK sen bunu kontrol olanağı sağlayan söz kullanarak ve bunu çözecektir alana kadar uygulama bekleyin anlatmak/içinde –
Olası yinelenen reddedebilir [angularjs ile http Senkron çağrıyı, $ nasıl ] (http://stackoverflow.com/questions/13088153/how-to-http-synchronous-call-with-angularjs) –