Ich arbeite mit angularjs $ http.get() Anfrage. Auf der Seite laden ich zwei Rest API Aufruf. Die API wird korrekt ausgeführt. Ich habe eine Schaltfläche welche die Daten von den zwei Rest-API-Aufrufen verwenden. Ich habe ein Problem, das ist meine Funktion vor der $ http.get() Antwort ausgeführt werden und ich bin nicht in der Lage, das gewünschte Ergebnis zu erhalten. Wie kann ich meine Funktion machen nach der Antwort von der zwei $ http.get() Anfrage auszuführen. Kann
var responsePromise5 = $http.get("1st rest call");
responsePromise5.success(function(data1) {
$scope.id = data1.platform.user.id;
\t var responsePromise = $http.get("2nd rest call");
responsePromise.success(function(data2)
{
console.log(data2.platform.record);
$scope.records= data2.platform.record; \t \t
});
responsePromise.error(function(data2, status, headers, config) {
alert("AJAX failed!");
}); \t
});
responsePromise5.error(function(data1, status, headers, config) {
alert("AJAX failed!");
}); \t
$scope.hello = function(a,b)
{
//here i want to call another rest api
}
<div ng-repeat="record in records">
{{record.name}}
<button ng-init=hello(record.unin,id)>abc</button>
</div>
Rufen Sie die $ scope.hello Funktion nach dem bekommen Erfolg des $ http.get – Hmahwish
Siehe [AngularJS $ q Service-API-Referenz - Verkettungsversprechen] (https://docs.angularjs.org/api/ng/service/$q#chaining-promises). Siehe auch [SO: Warum sind angulare $ http Erfolg/Fehler-Methoden veraltet? Aus v1.6 entfernt?] (Http://stackoverflow.com/a/35331339/5535245). – georgeawg