在AngularJS页面

时间:2018-05-09 13:39:59

标签: sql angularjs oracle webpage

所以我需要在AngularJS中的同一个组件上显示多个SQL查询结果。

我该怎么做?到目前为止,我理解该组件只能处理一个http请求,如下所示:

'use strict';
angular.module('cryostat', []).component('cryostat', {
    templateUrl: 'cryostat/cryostat.template.html',
    controller: function cryostatController($http) {
        this.pageTitle = "NP04 Cryostat"
        this.natalie = 1;
        $http.get("cryostat.conn.php")
           .then(function (response) {this.TT0101 = response.data.records;});
    }
});

2 个答案:

答案 0 :(得分:2)

  

我了解该组件只能处理一个http请求

这根本不是真的。你是从哪里听来的?使用$q.all()

可以轻松同时发出两个请求
var promiseOne = $http.get("query1.php");
var promiseTwo = $http.get("query2.php");

$q.all([promiseOne, promiseTwo]).then(function(resultArray) {
  $scope.resultOne = resultArray[0];
  $scope.resultTwo = resultArray[1];
});

答案 1 :(得分:0)

为您的目的利用$q.all()

var myData_One, myData_two;
var promises = [];
function promiseA() {
    let deferred = $q.defer();

    ajaxCall().then((response) => {
        $scope.myData_One = response;
        deferred.resolve();
    }, (error) => {
        deferred.reject(error);
    });

    return deferred.promise;
}
function promiseB() {
    let deferred = $q.defer();

    ajaxCall().then((response) => {
        $scope.myData_two = response;
        deferred.resolve(response);
    }, (error) => {
        deferred.reject(error);
    });

    return deferred.promise;
}
var promises = [promiseA(), promiseB()];
$q.all(promises).then((values) => {
    //Do whatever you wish to with response data from both promises.
});