我有这两个功能,这是代码示例
var getRangeTime = function(numSerie){
$http.get("data/tempsgammes.json").then(function(res){
return $scope.time = res.data[numSerie].temps
})}
var updateScreen = function() {
$http.get("http://localhost:5000").then(function(response){
$scope.numSerie = response.data.refDetail.Num_Serie
$scope.numTeam = response.data.team
$scope.t = getRangeTime($scope.numSerie)
//Rest of code the code
}
在这里我想做的是:
首先,我调用函数updateScreen()以获取序列号(numSerie),然后根据numSerie的值,将执行另一个函数getRangeTime()以获取时间,然后函数updateScreen()将继续使用getRangeTime()的结果执行。
这里的问题是异步的,我的意思是updateSreen()应该等待getRangeTime()直到她返回所需的值为止,这是一种异步并等待。
我已经尝试过了,但是它没有用,实际上我不知道如何使用它们,我在这里搜索了,我尝试了现有的解决方案,但是效果也不好,我总是不确定。
谁能帮我 ?
最佳答案
这里有点晚了,但是您也可以使用回调(我还没有测试过,但是应该可以):
var updateScreen = function(callback) {
$http.get("http://localhost:5000").then(function(response){
$scope.numSerie = response.data.refDetail.Num_Serie
$scope.numTeam = response.data.team
$scope.t = getRangeTime($scope.numSerie)
callback($scope.numSerie);
}
}
updateScreen(function(numSerie) {
$http.get("data/tempsgammes.json").then(function(res){
return $scope.time = res.data[numSerie].temps
}
})
关于javascript - AngularJs:$ http链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45788622/