gpt4 book ai didi

angularjs - 在代码块中继续之前如何等待函数执行?

转载 作者:行者123 更新时间:2023-12-01 10:36:38 25 4
gpt4 key购买 nike

我有一个函数 $scope.save()。这里正在调用另一个函数 $scope.validateFormat() 只是为了验证一些值在验证函数内部正在进行一个 Api 调用并检查结果是否返回有效值并允许保存以保存我的值。如果无效,我将值 setvalidity 设置为 false 并抛出错误。我的疑问是当我在完成此功能之前尝试调用 validateFormat() 时,保存功能正在完成。

      $scope.save() = function(){
// some code
$scope.validateFormat();// calling the validate function
// codde for saving value

}
$scope.validateFormat(){
// some API to get result
if(success){
// some code
}
else{
$scope.filestatus.editFileField.$setValidity("fileField", false);
return false;
}

最佳答案

正如我在评论中提到的,这是一个使用回调的示例:

$scope.save = function(){
// some code
$scope.validateFormat(function (data) {
if(!data.err) {
// code for saving value
}
});
}

$scope.validateFormat = function(callback){
// some API to get result
$http.get('/something').then(function (success, error) {
if(success){
// some code
callback({err: false});
}
else{
$scope.filestatus.editFileField.$setValidity('fileField', false);
callback({err: true});
}
});
}

您应该根据自己的需要进行调整。

有关 javascript 回调的更多信息,请查看此 answer .

关于angularjs - 在代码块中继续之前如何等待函数执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com