dies ist mein Code:
var updateScreen = function() {
$http.get("http://localhost:5000").then(function(response){
$scope.numSerie = response.data.refDetail.Num_Serie;
$http.get("data/tempsgammes.json").then(function(res){
$scope.time = res.data[$scope.numSerie].temps;
console.log($scope.time)
})
console.log($scope.time)
}
Die erste $ http.get ("http://localhost:5000") eine Liste von Details zurück, die ich in dem Rest des Codes verwenden, was interessiert uns ist die Variable numSerie.
Je nach dem Wert von numSerie, weiteren $ http.get ("data/tempsgammes.json") wird die Zeit für diese numSerie aus einer JSON-Datei ausgeführt werden zu extrahieren.
Das Problem ist, ich kann nicht auf den $ scope.time nur im zweiten Aufruf für $ http zugreifen. Die erste console.log() gab mir das gewünschte Ergebnis, aber die zweite undefined.
Kann mir jemand helfen?
alles ist in Ordnung und die res.data [$ scope.numSerie] ist nicht außerhalb der Grenzen, $ scope.numSerie es ist kein Täter Auch $ scope.numSerie hat den gewünschten Wert. Das einzige Problem ist, dass ich die $ scope.time nicht aus $ http.get() –
Oh, ich verstehe. Wenn Sie console.log ($ scope.Time) aufrufen, wird der asynchrone Aufruf noch ausgeführt. Setzen Sie console.log ($ scope.Time) in das innere http $ .get() und Sie sollten den Wert sehen. – zameb
Ich weiß, dass ich den Wert im Inneren sehe, ich möchte es außerhalb verwenden –