我正在开发角度1应用程序。我正在使用$q.all
延迟角度资源,如下所示。原因是我需要拒绝成功回应的承诺。
然而,似乎当我实现如下时,查询正在执行两次。感谢是否有人能够确定问题以及如何解决此问题的建议。
$q.all([
searchA(),
searchB()
]).then(function(res) {
}, function (err) {
});
function searchA() {
var defer = $q.defer();
Api.searchA().$promise.then(function (res) {
if (res && res.results) {
defer.resolve(res);
} else {
defer.reject(res);
}
}, function (err) {
defer.reject(err);
});
return defer.promise;
}
function searchB() {
var defer = $q.defer();
Api.searchB().$promise.then(function (res) {
if (res && res.results) {
defer.resolve(res);
} else {
defer.reject(res);
}
}, function (err) {
defer.reject(err);
});
return defer.promise;
}