我们应该将masterdata调用组合成一个调用吗?

时间:2017-06-06 12:55:21

标签: rest angular

我们有一个基于REST的应用程序与Angular 2客户端,在应用程序中我们一直在登录一些主数据api像国家,协议等一些6-7次调用它会是好的(性能方面)将所有这些电话合并为一个电话?

1 个答案:

答案 0 :(得分:1)

我更喜欢这样做,除非API端点没有返回一些大数据。但是在后端我仍然为每个项目保留不同的功能。

这是一个例子。对于仪表板,我必须填充3个下拉菜单(它们是过滤器)。所以我在/api/dashboard/filters电话下合并了所有3个电话。在后端,我确实分别获取每个这些,但使用Promise.all来确保并发。它看起来像吼叫

  try {
    let [businessUnits, departments, filter3] = await Promise.all([
      Employee.getBusinessUnits(),
      EmployeeStatus.getDepartments(),
      Employee.getFilter3()
    ]);

    res.json({ businessUnits, departments, filter3 });
  } catch (e) {
    res.json({ error: e });
  }

但是如果你使用http / 2,我认为没有必要结合这些调用