angular中写法
ngOnInit(){
const observables = [
this.service.getMetadataByFormTemplate(this.className, this.baseTmpl || ''),
this.service.getMetadataByFormTemplate(this.className, this.designTmpl || ''),
];
forkJoin(observables).subscribe(([res1, res2]) => {
// TODO
});
}
要用到forkJoin,需要导入:import { forkJoin } from 'rxjs';
在angularjs中写法
// 原始数据属性定义
var promiseProp = function () {
var defered = $q.defer();
var url = "../../custom/drawchart/data/json.json"
$http.get(url).success(function (response) {
defered.resolve(response);
}).error(function (response) {
defered.reject(response)
});
return defered.promise;
}
// 获取数据实例
var promiseChartOpt = function () {
var defered = $q.defer();
var url = "../../custom/drawchart/data/defaultChartOption.json"
$http.get(url).success(function (response) {
defered.resolve(response);
}).error(function (response) {
defered.reject(response)
});
return defered.promise;
}
//执行
// 执行promise
$q.all([promiseProp (), promiseChartOpt ()]).then(function (result1) {
//TODO
// result1是结果数组
})
或者
// $http默认返回的是promise对象
var promiseProp = $http.get("../../custom/drawchart/data/json.json")
var promiseChartOpt = $http.get("../../custom/drawchart/data/defaultChartOption.json")
// 执行
$q.all([promiseProp, promiseChartOpt]).then(function (result) {
//TODO
// result是结果数组
})