AngularJS 中的同步 SQL 查询
Synchronous SQL queries in AngularJS
我有一个 1.x AngularJS 应用程序,需要同步执行 2 个 SQL 查询(一个接一个)。第一个对 table 进行更新,第二个对相同的 table 进行 select 以获取更新值。我遇到的问题是查询是异步执行的,有时 select 在更新完成之前执行,我得到的是 "before" 数据而不是 "after" 数据。我设置了 500 毫秒的延迟,这对我来说很好,但是连接速度较慢的离岸人员仍然会间歇性地遇到问题。我的代码在下面(经过简化以表达我的观点)。关于如何让第二个查询等到第一个查询完成有什么想法吗?
$scope.saveUser = function(origuid, uid, name) {
$http.get('/ccrdb/updateAdmin?origuid=' + origuid + '&uid=' + uid + '&name=' + name);
setTimeout(function() {
$http.get('/ccrdb/getAdmins').then(function(response) {
$scope.users = response.data.detail;
});
return true;
}, 500);
};
$http returns 承诺在请求完成时解决,所以:
$scope.saveUser = function(origuid, uid, name) {
$http.get('/ccrdb/updateAdmin?origuid=' + origuid + '&uid=' + uid + '&name=' + name)
.then(function() {
return $http.get('/ccrdb/getAdmins');
})
.then(function(response) {
$scope.users = response.data.detail;
});
};
我有一个 1.x AngularJS 应用程序,需要同步执行 2 个 SQL 查询(一个接一个)。第一个对 table 进行更新,第二个对相同的 table 进行 select 以获取更新值。我遇到的问题是查询是异步执行的,有时 select 在更新完成之前执行,我得到的是 "before" 数据而不是 "after" 数据。我设置了 500 毫秒的延迟,这对我来说很好,但是连接速度较慢的离岸人员仍然会间歇性地遇到问题。我的代码在下面(经过简化以表达我的观点)。关于如何让第二个查询等到第一个查询完成有什么想法吗?
$scope.saveUser = function(origuid, uid, name) {
$http.get('/ccrdb/updateAdmin?origuid=' + origuid + '&uid=' + uid + '&name=' + name);
setTimeout(function() {
$http.get('/ccrdb/getAdmins').then(function(response) {
$scope.users = response.data.detail;
});
return true;
}, 500);
};
$http returns 承诺在请求完成时解决,所以:
$scope.saveUser = function(origuid, uid, name) {
$http.get('/ccrdb/updateAdmin?origuid=' + origuid + '&uid=' + uid + '&name=' + name)
.then(function() {
return $http.get('/ccrdb/getAdmins');
})
.then(function(response) {
$scope.users = response.data.detail;
});
};