我有一个保存函数,我需要调用另一个函数来获取修订版本号。并在那里进行API调用。因为两者本质上都是异步的。如何使一个功能,使等到其他执行Angular:如何使一个异步函数先后执行
$scope.getRevision = function(callback){
Api.Product.querymyProdById({ prodId: $scope.editProdId }).$promise.then(function(result) {
if (result && result.length>=1 && result[0].effectiveDate != $scope.editProdmyDate) {
$scope.editProdRevision = result && result[0].revision +1;
callback();
} else {
$scope.editProdRevision = 100;
}
});
}
$scope.saveProd = function(){
$scope.getRevision(function(){});
Api.Product.save({
id: $scope.ProdId;
revision:$scope.editProdRevision
-some code
}
上面的代码我想确保保存API不应该叫,直到我得到的prodRevision。
有什么建议吗?
回报承诺,并把它们连。如果你在一个答复中返回一个承诺,那么在继续之前它会等待它解决。 – ste2425