AngularJS 服务问题
AngularJS Service issue
是否可以先调用一个服务再调用另一个服务?
我有两个服务,详情如下:
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
});
dataservice.setCPUPercentage(model.setcpuPercentage);
在 getCPUUtilization
服务之后我需要调用:
但它首先调用 setCPUPercentage
然后 getCPUUtilization
?
更多代码应该有所帮助,但我相信您正在执行的这些调用是异步的。
在连续两行代码中进行两次调用并不意味着最后一个将 运行 紧接着另一行结束。
您需要在第一次调用的回调中进行第二次调用,这是确保第一次调用完成后再进行第二次调用的唯一方法。
试试这个:
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
//Now in the callback
dataservice.setCPUPercentage(model.setcpuPercentage);
});
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
}, function(){
dataservice.setCPUPercentage(model.setcpuPercentage);
);
这将解决您的问题。
是否可以先调用一个服务再调用另一个服务?
我有两个服务,详情如下:
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
});
dataservice.setCPUPercentage(model.setcpuPercentage);
在 getCPUUtilization
服务之后我需要调用:
但它首先调用 setCPUPercentage
然后 getCPUUtilization
?
更多代码应该有所帮助,但我相信您正在执行的这些调用是异步的。
在连续两行代码中进行两次调用并不意味着最后一个将 运行 紧接着另一行结束。
您需要在第一次调用的回调中进行第二次调用,这是确保第一次调用完成后再进行第二次调用的唯一方法。
试试这个:
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
//Now in the callback
dataservice.setCPUPercentage(model.setcpuPercentage);
});
dataservice.getCPUUtilization(model.dbName).then(function (data) {
model.cpuUtilizationChart = data;
model.cpuPercentage = model.cpuUtilizationChart[0].combined;
console.log ("******** CPU Utilization Chart components are ******* :" + model.cpuUtilizationChart);
console.log ("******** CPU Percentage is ******* :" + model.cpuPercentage);
}, function(){
dataservice.setCPUPercentage(model.setcpuPercentage);
);
这将解决您的问题。