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);
);

这将解决您的问题。