我有一個保存函數,我需要調用另一個函數來獲取修訂版本號。並在那裏進行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